Contrary to what everyone here seems to think, I've actually used (something like) RoR (Django, to be specific.) Although frameworks simplify the process quite a bit, there's still a lot of stuff that doesn't really need a "proper developer" to do, imho. Again, oversimplifying here, but tbh, aren't a lot of these applications basically "glorified spreadsheets"?
Anyway, I guess I got the title for the post wrong. The main point here is that:
1. CRUD is repetitive.
2. CRUD is boring.
3. Why don't we solve better, harder problems and leave CRUD to the non-programmers?