I have no idea why Arduino is so popular--it has NO debugging support unless you use an ICE. (People "debug" with printf statements.) We use Netduinos because with .NET we can single step and inspect variables in live code.
I agree that it's not a great platform, though. I personally prefer STM32 these days; it's dirt cheap (a basic development board is <$5) and powerful (72 MHz / 20 KB RAM / 128 KB flash on one of those boards). I believe there's even a way to integrate it into the Arduino IDE nowadays!
You can get more performance for less money with other boards, but you'll have to figure out a lot more stuff on your own.