I've read some about .egg files and I've noticed them in my lib directory but what are the advantages/disadvantages of using then as a developer?
For simple Python programs, you probably don't need to use eggs. Distributing the raw .py files should suffice; it's like distributing source files for GNU/Linux. You can also use the various OS "packagers" (like py2exe or py2app) to create .exe, .dmg, or other files for different operating systems.
More complex programs, e.g. Django, pretty much require eggs due to the various modules and dependencies required.
What are the advantages of packaging your python library/application as an .egg file?