* Expensive
* Physically large
* Sucks power like crazy
* Slow
* Hardware is unreliable and inconsistent
* Constant hardware availability issues
* Form factor changes on every release
* CPU changes on every release
* I/O is adequate if you're building a PC replacement. It doesn't have the right sort of I/O for embedded tasks (multiple SPI buses, multiple serial buses and so on).
The RPi is a fine learning tool, but don't treat it as production-ready. I strongly recommend the BeagleBone Black instead.
> Hardware is unreliable and inconsistent
That's not true from my experience. I'm running a digital signage service based on the Pi. So far all devices are very reliable. Of course that depends on other factors such as SD card or power supply. If you don't try to save money on those, Pis run for many years without a single problem.
> CPU changes on every release
Some chipset revision changed (I would have to look up details), but they are all more or less compatible if you don't go too low level. I have no problem running the same build of my software on all Pi revisions. Of course you can benefit from NEON or multiple threads on later versions, but that's all optional.