But there is a definite upper ceiling I hit for the projects I want to build because I don't have the background. Complex numbers, signal processing, etc - I don't have any of that fundamental stuff as a software guy.
I can write assembler, but I get nervous when trying to implement a PWM because I just don't get it.
It is frustrating to try to learn. All of the kits and guides are tailored for newcomers. I don't even know where to begin as someone who is fairly technically competent, and who has debugging skills, but is missing a chunk of math and theory and rote practice relevant for hardware hacking. Do you know how long it took me to figure out what "Vcc" meant on a datasheet?
So guys like me love these modules because it lets me create my raspberry pi party trick that responds to tweets. (blog post forthcoming.) Or my MIDI-controlled glockenspiel. But your point stands that there is a whole world of innovation that I can conceive of, but cannot put into practice, because you can only go so far with an Ethernet shield.
My raspberry pi twitter device ran out of batteries halfway through the party - I don't know enough to design something more efficient.
So. While I can agree with your points, short of enrolling in my local EE program, what is one to do?