Arduino Uno certainly is very easy to use for projects where all your hardware needs can be met by plugging ready-made shields together. Often the shields are spendy, but from an ease of use point of view, not having to build any hardware makes some types of projects really easy.
As soon as you have to build stuff yourself, using a solderless breadboard, I think it's really debate whether dangling wires from the Arduino Uno sockets is a good approach. Boards like Arduino Nano and Teensy are designed to work directly with breadboards. If you buy it with the pins already soldered, it just plugs right in.
When you're developing curriculum for entry level students, you can generally plan around the feature set of almost any board. If you use Uno, then you're going to design lessons that fit into the 14 digital and 6 analog I/O pins and USB Serial communication. When the ultimate goal is beginner-level learning, technical requirements aren't a huge deal. You can design the lesson goals to fit whatever hardware you've selected.
But for a specific project with real-world goals, like making custom controls for racing games / simulators involving 32 buttons, the project can be made much easier by choosing the right tool for the job. It's commonly said "when the only tool you have is a hammer, everything looks like a nail". Arduino Uno is indeed a great product. Many people are very familiar with it. But just becanse it's familiar and easy doesn't mean it's always suitable. Uno does not support USB Joystick communication. Neither does Leonardo. Neither of those boards has enough digital I/O pin to connect 32 buttons in a simple one-per-pin way. Shoehorning them into such a project is at least challenging and can be quite difficult.
Having to install extra software and use an unfamiliar board might seem like a hurdle. But if the ultimate goal involves controlling existing PC software that responds to joysticks, and involves wiring up a large number of signals, I'm confident the small extra effort to install Teensyduino and use the less-familiar Teensy++ 2.0 board will be well worthwhile. Being able to just choose Joystick protocol in the Tools > USB Type menu, and
send joystick events with simple functions (while also having the Arduino Serial Monitor able to show Serial.print info), and connect buttons to each pin and easily read state changes with the Bounce library will make such a project dramatically easier.
For real projects with specific goals, it really is worthwhile to choose the right tool for the job.