Indeed, the good IDEs, that are good tools, aren't free.
In the ARM7 and Cortex world, there are a number of choices, including
IAR (my favorite) - expensive pro version, but free limited version (32KB as I recall).
Keil - same stature as IAR, also has a free version as I recall.
GCC mated with several free IDEs, like Eclipse - OK. But more time and effort on building tools than I want to spend.
mikroe.com has an STM only ARM compiler. Their history of compilers is bad. Buggy libraries, years to fix bugs, etc.
mbed.org is neat... specialized hardware, free online compiler, quite a bit of library and user submitted code.
I thinmk those are the main ones.