As mentioned above, performance will take a hit.
Another great advantage is that you can dynamically load assemblies, perform property manipulation even though you may not have the scope to see what to change, etc.
The reasons to use this are plenty. Here is an introduction if you need.