I'm not in the industry at all, but I've followed it for a long time and done a good deal of random game dev. The biggest pain point is how much it costs to produce a large world these days. As it stands, this is not a technical problem, but a business one: artists are expensive and art for modern games is insanely detailed.
Procedural generation is, IMO, the way to go here, but it's an unsolved problem. I've been thinking about this for a long time and I've had two specific ideas in mind for how to ease the cost of content development. Please, steal these!
Idea one is for the creation of individual assets. You start with what is, in effect, a block of clay. You (programmatically) cut away at it, apply materials to it (which could, in turn, do things like cut a wood grain into it), add on to it, etc. So let's say you want to build a sign generator for shops in your town. You'd start with a block of clay roughly the size of your sign, cut it into the (2d) shape you want, emboss the logo into it, then apply a wood material to the sign, and paint the raised areas. This allows you to quickly create unique assets in your world.
Idea two is for the high-level creation of a world. You have an editor where you can create a landscape. You start by setting the size of the area, drag points up and down to affect terrain, etc -- all stuff that's been done before. The key, though, is in world brushes. For instance, you select a 'forest' brush. This brush, when painted onto an area, creates trees, rocks, bushes, etc as appropriate based on elevation, angle of the ground, etc. So you paint part of your area with a forest brush, then go in and paint in a river, paint in paths, etc. Once you've created the high level look, you can go in and add features like signs to cities, unique quest/story-related assets, etc. This allows you to create large areas with completely unique geometry very quickly and cheaply, without sacrificing quality; after all, you're starting off with unique objects and then adding specific touches.
The latter idea has been implemented to a certain extent in the past, but it's been entirely via instanced geometry. The problem there? Everything looks the same. Procedural generation lets you get a unique world, then you can go in and actually make it feel real.