I understand your question. The answer is simpler than it seems.
For -s endings for plural nouns and third-person present tense verbs, the rule is as follows:
If the word ends in a voiceless sound (many consonants, including f, k, and p), then the appended "s" is pronounced like an "s." If the word ends in a voiced sound, the appended "s" is pronounced like a "z". I could give you a list of voiced and voiceless consonants (vowels are always voiced), but you can figure it out yourself by putting a hand to your throat as you pronounce the word. Touch your voicebox and say "cat." You'll feel your vocal cords vibrate on the "a" sound, but stop for the "t" sound. "T" is a voiceless consonant. Now, keeping your hand on your throat, say "bag." You should feel your vocal cords continue to vibrate through the "g." Therefore, "cats" is pronounced with an "s" sound, while "bags" is pronounced with a "z" sound.
Now, if the word already ends in a "s," "z," "ch," "sh," "zh" or "j", you add an extra syllable, pronounced "iz." Examples: glass, size, watch, wish, garage, judge--all made plural by the addition of an extra syllable in the form of the "iz" sound.
For the -ed suffix to indicate past tense or to make verbs into adjectives, a similar rule applies. If the word ending is voiceless, the -ed ending is prounouced with a voiceless "t." Thus the past tense of "laugh," though spelled "laughed," is pronounced "laft." If the word ending is voiced, the -ed suffix is pronounced with a voiced "d." For example, the past tense of "call," spelled "called," is prounounced (one syllable) "cald" (like cold but with a different vowel sound.) Only when the word already ends in a "t" or "d" sound do you add the extra syllable, pronounced "id." For example, "wait" is one syllable, "waited" is two; "need" is one syllable, "needed" is two.
Does that make sense?