I could be wrong but I was under the impression that initially the extension-related stuff was fairly limited. It wasn't until a few releases in that Gnome shell developers decided to allow people to make more significant changes to the function and appearance of the shell.
I don't think GNOME Shell extensions were limited on purpose or anything like that. As more people developed extensions, GNOME shell developers accomodates the changes that were required but extensions always could practically do anything needed. The changes that were done was coming up with a more stricter flow so that the API doesn't have to change so often. In that sense, the extension framework has become mature but Canonical could very well have contributed their changes as extensions but my understanding is that they just thought going their own way gives them better control which is absolutely true but the maintenance headaches are quite large and this was something anybody who goes their own way learns after sometime. Unfortunately it appears that every organization including Red Hat, Novell, Google etc have to independently learn the same lesson. So either Canonical has to hire up or share the maintenance and development costs of the core technology pieces. It will be interesting to see which direction they go. So far it looks they prefer to got their own way which is a valid choice certainly.