Reflection is the ability of the .NET framework to gather information (metadata) about assemblies, modules and types at runtime. It allows you also to dynamically create instances of types, invoke methods and access fields, properties and attributes.
System.Reflection.Emit is used to create types and modules at runtime. Developer should be familiar with Intermediate Language (IL) to create new types at runtime and save them in 'dll' or 'exe' format.
Reflection is primary used by various other components of .NET like .NET Remoting. Reflection can be used to in modular design paradigms ( extension based , add-on based applications) where the functionality of the application is extended by providing new modules for it. In .NET 4.0 this has been upgraded and it has the feature of DLR.
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.
The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.