I use .NET Reflector Pro and use the "Step into decompiled assemblies and use all the debugging techniques you would use on your own code" feature quite heavily. Here's a couple of examples:
Citrix XenServer:
We use Citrix XenServer and automate many processes using the C# Xen API. Sometimes it's not obvious from the documents how best to use the API to perform certain functions (such as snapshot management).
Citrix XenServer comes with an administration front end called XenCentre. XenCentre is a .NET Windows Forms application that leans heavily on the Xen API and SDK tools. Whilst the application isn't open source they haven't obfuscated it. I use Reflector Pro to step into their code, set break points etc so I can understand the Xen API better.
It's a very very useful tool for me and was well worth the money (in fact I purchased mine when they had an offer running so it only cost me 46.00 euro's). I've saved countless hours because of this feature rather than just having a static disassembled view of the code (ala vanilla .NET Reflector) to work with, or waiting around to have questions answered by their support team (who are very good, but "teach a man to fish"....) or on their forums.
IIS Metabase Explorer 1.6:
Another good example of where the tool came in handy was with the IIS6 Metabase Explorer 1.6 tool. I needed to understand how to call into the IIS6 ABO (Admin Base Objects) COM API from a .NET application. As luck would have it, it turns out that this version of the Metabase Explorer is a .NET Windows Forms application with a managed interop wrapper around the ABO API.
Using the "step into" feature I was able to gain an understanding of how to use the ABO API from .NET, set break points, examine live variables etc. Again, this shaved a fair few hours off of what was becoming a fairly torturous task (the ABO API isn't exactly well documented or friendly).
In conclusion, unless you have an actual need to go poking about someone else's code AND you need to be able to set breakpoints and see the application's state at runtime, then the basic tool may be sufficient for your needs. However, more often, I seem to find myself needing to see what an application or library is actually doing and it's "live" state. Without getting into the rights and wrongs of RedGate's latest antics with .NET Reflector, from a mercenary point of view it's been damned useful.