When I studied historical linguistics, I learned that many languages have word-final devoicing which can be considered a weakening process. It is clear that the word-final position can be analyzed as a weak one. For example, many languages delete segments in word-final position but rarely do so in word-initial position.
The Danish language puzzled me. I was unable to explain the reason that voiceless segments in Swedish and Norwegian were often voiced in Danish word-finally. For example, the imperative "lose" in Swedish and Norwegian is "tap". In Danish it is "tab". The word "sick" is "sjuk" in Swedish and "syk" in Norwegian. In Danish it is "syg". The word for "out" is "ut" in Swedish and Norwegian but "ud" in Danish. The word-final "d" is a fricative in Danish. How could Danish have a voiced consonant in a weak position? Could that be called weakening?
One day I realized the solution. It occurred to me that all the Danish forms with word-final voiced consonants have intervocalic forms. For example, the infinitive of "to lose" is "tabe", the plural adjective of "sick" is "syge" and the stative adverb "out" (used to denote lack of motion) is "ude" as in "Han er ude" (He is out) as opposed to "Han gik ud" (He went out).
Thus the word-final Danish voiced consonants can be explained. The voicing occurred when the consonants were in an intervocalic position. As a result of word-final vowel deletion, they then surfaced word-finally. This is an example of two phonological rules which need to be ordered. The first is a voicing assimilation which occurs between vowels, a very natural phonological process, and the second is apocope, also known as word-final vowel deletion.
Obviously, these processes did not occur in Swedish and Norwegian, two languages which can be considered less innovative or more conservative from a linguistic point of view. A "t", "k" and "p" in Swedish and Norwegian often correspond to a "d", "g" and "b" in Danish.