In this arena, I think it's better to examine the hardware platform first, and then determine the development environments.
Basic Stamp: (
Upside: it's easy to program and they have tons of samples and good support. Great beginner environment. Also good for quick proof of concept or demos when you’re rushed.
Drawback: BASIC only. If you're just starting out its great (don't need to grind through assembly language). They use a hardware BASIC interpreter on the chip, so it will be slower than anything compiled to native H/W instructions (i.e., no inline assembler option). The chips are somewhat expensive, but the hardware programmers aren't (you can easily build your own) and the programming language is free (it's on the chip).
Microchip with MPLAB IDE: (
Upside: Fast, cheap, very popular. Free MPLAB development environment. Lots of uProcs to choose from - almost too many

.
Downside: You have to use Assembler which is tightly tied to the hardware (by design) so you're programming to the "bare metal".
Microchip with Microengineering Labs IDE: (
Upside: Again, the hardware is fast, inexpensive, and popular. Great IDE support from Microengineering Labs. ME sells several different types of H/W programmers as the Microchip family of products is huge. Basic Stamp software compatibility for the non-Pro version, limited Basic Stamp compatibility for the Pro version.
Downside: You have to buy ME's software development environment. Software compiler: I started with PIC Basic ($99) then ended up with PIC Basic Pro ($199?). The latter is much more flexible and you could create arrays and many other common C-like programming constructs in BASIC. The Pro version supports inline assembly, step by step debugging, interrupt handling and some other stuff. H/W programmer: I have an EPIC programmer that supports a ZIF socket add-on for different chips (pin count).
Atmel: (
Heard it's a great platform and I think they are the industry leader (in sale anyway), but I'm now ramped up on Microchip so I don't know when I'll have time to look at the environment. A friend of mine uses AvrX and swears by it. It’s an RTOS kernel that supports a C like API interface (see
/// Mike