I would like the geospatial features to be immediately available, and not having to enable them in each individual database. PostGIS setup is well described but I've had a situation where it turned out to be painful.
Anyway now I see the reasons behind the separate module approach and I think it makes sense.
Another added benefit is being able to keep up with the bleeding edge PostGIS and keep some scope of what's changing. If PostGIS was internal to Postgres I'd be a lot less comfortable swapping the configuration so often.
PostgreSQL has spent a lot of effort on the extension framework ("create extension") to make it easier to support more external modules. If there is a particular area that needs improving, please elaborate.
Making external modules a normal part of the ecosystem, like with ruby (and other popular languages), is the way forward for postgres and has some major advantages.
For instance, given that PostGIS 2.1.0 was just released today, it would make it into 9.4 (as 9.3 is already feature frozen), and 9.4 will be released in about a year. Because it's an extension, you can install it in 9.2 today, or 9.3 when it comes out in a month or so.
Also, just plain modularity, division of responsibilities, allowing for different licensing, and lowering the barrier for contribution are huge wins. The same reasons that ruby has gems.
So, hopefully we can address the concerns with extensions rather than build PostGIS into core.