As mentioned, OS X (since 10.6) has built-in text expansion capability. However it's also worth mentioning TextExpander.
It does the basic replacement that the built-in utilities do, but it offers a lot more functionality and customizability. For example, you can have it insert variables like the current date, move the insertion point (e.g. you can wrap something in a tag but have the insertion point stay after the word, not the closing tag), or insert new lines.
For many people the built-in capabilities will likely be enough, but TextExpander could be consider the Pro version.