You don't need to spend any money to compile the FS2 program. You can get GCC through Cygwin, grab the FS2 GCC source from CVS (CVS is available through Cygwin), grab the header files, and run the build.sh file. To make any major changes with the source code, knowledge of C++ is needed.
As far as what can be changed now: Anything and everything.
If you want to make your own game using the FS2 engine (in otherwords, a total conversion) you'll need whatever tools you want and can get for MODding. (The Descent Manager FS2 tools are a good start.) You'll probably need at least TrueSpace 1 to make models with multiple objects. (LoDs, turrets, animated thruster flames instead of just thruster lights, etc.) And all this stuff is available for free. The one thing that's not free is FS2 itself, but if you don't have it why are you here?

The FS2 Modding forum here on HLP is a very good resource for info on what you need and can get to make mods. Other things that would be helpful are 2D graphics programs (like Gimp or even the Win95 version of MS Paint which could save PCXs) for editing things like the interface graphics and textures.