If the final consonant of the verb is unvoiced, the 's' is also unvoiced, and sounds like an 's'.
For example: waits, likes, hopes
If the final consonant of the verb is voiced, the 's' is also voiced, and sounds like a 'z'.
For example: loves, runs, reads
If the final consonant is 's', 'z', 'sh' 'ch' or 'x', adding the final 's' involves adding an extra syllable that is pronounced 'iz'.
For example: wishes, fixes
This rule also works for the pronunciation of 'ed' for regular past simple forms, which are pronounced either 't' , 'd' or 'id'.
Native speakers do this instinctively, and most native speakers who have not been trained in phonology are probably completely unaware of the differences in pronunciation. If you were to ask the average non-specialist English speaker this question, he or she would probably say that it's always an 's'. There are also many non-native but completely fluent speakers of English who live their entire lives in an English speaking country but still get this wrong every time they open their mouths.