Many phoneticians and phonologists use the term lenis and fortis to describe different types of consonant. Those phonemes which we typically think of as being voiced are lenis and those which we characteristically think of as voiceless are termed fortis.
There are two reasons for using these terms. The first is that lenis, or so-called "voiced", consonants in English have other properties which they share apart from the fact that we characteristically consider them voiced .
The second reason is that in actual speech, most voiced consonants undergo devoicing when they are next to voiceless sounds. Voiceless sounds here includes silence. This means that, for example the /b/ in bed, which we normally consider to be voiced, will be partially and sometimes fully devoiced at the beginning of a sentence when preceded by silence. Similarly, the /d/ in bed, again normally considered voiced will be partially or fully devoiced when occurring at the end of a sentence next to silence. This, as described, will also be true of the /b/ in hotbed where it occurs next to voiceless /t/.
The same is true to a lesser extent for fortis consonants. In certain environments consonants which we normally consider voiceless may become voiced if they occur between two vowels. So for example in the word better in expressions such as we'd better go, the /t/ will often be realised by a voiced alveolar tap. Similarly the /h/ in ahead is often fully voiced instead of being voiceless.
There is obviously a problem with talking about devoiced voiced sounds and so on. But there is a deeper problem, which is that we still need terms to talk about consonants that are usually voiced, even if they happen to occur in a position in which the actual phonetic sound will be entirely voiceless. This is because the most important properties of these sounds remain the same. It won't have escaped the quick-witted reader here that I have just said above that the /b/ and /d/ in bed may both be voiceless if the word is said in isolation. This is absolutely true. If you record a speaker speaking naturally and cut out just the /b/ or/d/ segments they will sound exactly like a /p/ and a /t/ most of the time.
I can already hear screams of gibberish, claptrap and the like from the audience. Quite understandable. It doesn't take one second to realise that any native speaker is able to freely distinguish between the words bed and pet when produced by another native speaker. However, the reason that this is true, is that fortis and lenis consonants keep their fortis and lenis characteristics whether they are voiced or not.
Most importantly, fortis and lenis consonants affect the other sounds around them. It's been proven that English listeners are practically deaf when it comes to distinguishing the voicing of word initial sounds by listening to the sounds themselves. The reason that we know that the sound at the beginning of bet is a /b/ and not a /p/ as in pet is that the vowel after /b/ is immediately voiced, whereas there is a delay after /p/ before the voicing for the vowel kicks in. During this voiceless period of the vowel there is an audible hissing as the air from the consonant is released from the vocal tract. This is what is known as aspiration. Fortis consonants in English are aspirated when in word initial position, and it is the aspiration after /p/ and not the sound of the consonant itself which helps us to distinguish /p/ from /b/.
Fortis and lenis consonants have a completely different effect when occurring at the end of a word. Fortis consonants in all languages have the effect of shortening the preceding vowel when they occur at the end of a syllable. This is known as prefortis clipping. If you say the words bead and beat, and listen carefully, you might be able to notice that the FLEECE vowel, /i:/, is considerably shorter in the word beat. This is because the fortis consonant, /t/, causes the vowel to be shortened. Even though the /d/ in bead will usually be devoiced, and therefore is phonetically voiceless, it remains lenis and causes no shortening of the vowel. It is the length of the preceding vowels or other voiced segments which tells a listener whether a syllable final consonant is fortis or lenis. It has nothing to do with whether the actual realisation of the consonant actually contains any voicing, any vibration from the vocal folds.
Below is a speech pressure waveform and spectrogram for the words beat and bead respectively. The wavy readout at the top is the waveform, the diagram underneath is the spectrogram. You will see that the vowel on the left, represented by the first big burst of activity in the waveform readout is considerably shorter than the one on the right. You can also see the vowel in the spectrogram underneath. The vowel is the the first vertical grey band. It's about half the width in the first word as in the second - a result of pre-fortis clipping.
_____ / bi:t / __________________ / bi:d / ________
The Original Poster's question
If the Original Poster has a very sharp ear, they may indeed have heard that the /z/ at the end of words is actually voiceless when said by native speakers. In other words, the phonetic quality of the sound itself will be very close to our canonical idea of /s/. This is because it will be devoiced here at the end of the word. However, native speakers' ears and brains will tell them that this is the /z/ phoneme, and not /s/. The reason is that the /d/ segment is clearly /d/ and not /t/, because the vowel in /wɜ:ds/ is fully long here. The following plural marker will be understood as /z/ simply because it follows the lenis consonant /d/.
However, we shouldn't think that this means that we can try to say /s/ at the ends of English words instead of /z/. This would be a terrible mistake. Using /s/ where we need /z/ at the end of a word will cause the vowel to be reduced. If you try to say the word peas with an /s/ instead of a /z/, you will clearly just be saying the word peace because the /s/ will cause the vowel to be shortened. If you want some peas it is probably not a good idea to say:
- Please give me some peace!
Hope this is helpful!