REAPER Plug-in Extensions are additional components which can add functionality to REAPER. These plug-ins are not plug-ins in the traditional "DAW" sense of plug-ins, in that they are not "Effect" plug-ins, but rather can do many of the following things:
Add support for reading/writing audio file types
Add support for external control surfaces (MIDI or otherwise)
Add support for importing other project formats
Add audio editor support for filetypes
Access many services provided by REAPER, including audio file read/write, audio hardware access, samplerate conversion, pitch shifting/time stretch, etc.
Many other things
Extensions for REAPER/win32 should be written in C++ and compiled using MSVC (pure virtual interface classes are used and as such the C++ ABI must be compatible -- sorry, mingw users).
The source to the REAPER extension mini-SDK is now available via GitHub. The necessary header files are included, along with a couple of example plug-ins, and the source to some of REAPER's built-in plug-ins (such as the control surface plug-in and mp3 decoder).
The very popular SWS extension is an open source project, and contains many excellent examples of how to do useful things with the REAPER Extension SDK.