Synonyms are important for dependency management. As Jeff Moden alluded to, sooner or later your friendly infrastructure maven is going to come a-knocking and say "Hey, good news guys, we're decommissioning server X and from 1 March all the databases that were there, are going to be moved to server Y." Over the years your team has written dozens or even hundreds of dependencies that pull data via linked servers. Depending on how lax your DBAs have been over the years there could be any number of things you don't know a lot about, engaging in a bit of consensual cross server querying.
If you've been diligent, you have not hard-coded the server names into your SQL. Instead you've created a synonym and put the four-part name in that. So when the time comes to mover over to your shiny new server Y, you simply script out all your synonyms, change them to point to the new server, and run. Simples.
If you haven't been diligent, help desk is going to field days of calls for broken views, stored procedures, reports etc etc etc.
The one gripe I have against synonyms, is that in all versions of SSMS (that I'm aware of) intellisense sees a synonym as a syntax error. It's an annoyance rather than a deal breaker, but I have often wondered whether the way SSMS reads the DBs' metadata could be improved to map the synonym through to the source.
...One of the symptoms of an approaching nervous breakdown is the belief that ones work is terribly important.... Bertrand Russell