Lutz Roeder's .NET Reflector was revolutionary when it first come out, however as we are all now very used to the fact that our code can be re-read once complied to a binary (when not obfuscated) it does slightly loose the original 'WOW' factor.
Since .NET Reflectors release it gained a huge following including my own, but like all good applications there are always ways to enhance it and give it your own spin and Lutz Roeder was very aware that he, as one man, could not be the creator of an application which would satisfy everyone's needs which is why he give the application extensibility points. Since that point a community has grown around this application and many new add-ins have appeared.
Some of the add-ins allow you to take the code from a dll or exe and extract to a file in the language of your choice, or create Sequence diagrams from existing code (a great way for post implementation documentation) you can even have reflector appear as a tool within Visual Studio.
If the extensive list of add-ins for reflector still does not add your own required functionality there are documents on how to create your own.
Download Lutz Roeder's .NET Reflector here.
View the community add-ins here and information on creating your own add-ins.
This application is a great example of taking a really simple idea and making available to everyone, the longevity of this application is purely down to its simplicity and extensibility. Things to keep in mind when writing any application.