1. While procedural generation is powerful, and I am personally a huge fan, it often leads to feature creep in a bad way. The less that is understood about the implementation in detail, the more likely you are to encounter unforeseen problems which increases development time. The problem with implementing effective procedural generation at run-time is that in order for a realistic result you have to approximate the infinite possibilities of reality. In other words, repetition and predictability are often the pitfalls of procedural generation (with some exceptions, i.e random seeds) and counter-acting them sometimes requires more processing power than is available. Basically, procedural generation is a double-edged sword for indie devs. By leveraging a small amount of static assets and creating a lot of content, it can help developers create things not otherwise possible as a small or solo team. The added complexity of the implementation, however, presents certain risks all by itself and tends to lead to undefined scopes for the project.
2. In my experience the most useful procedural generation concept for anything remotely complex is Perlin Noise or its more modern variations like Simplex Noise and Wavelet Noise. Essentially Perlin Noise works on the principle of creating random gradients instead of purely random values. So, in the case of 2D noise, when creating a random sample you get the smooth transitions between extremes instead of a result that looks like static. This is commonly used in terrain generation for heightmaps that produce rolling hills. Since it's so smooth though, layers of Perlin Noise are used on top of one another to create small bumps and ridges in the overall landscape to reduce repetition (a process sometimes called fractal noise). In the case of terrain this often still looks unnatural and is best supplemented with something like the Diamond-Square algorithm, a variation on midpoint displacement where points are randomly raised and lowered by a reduced range while increasing resolution. Terrain isn't the only thing that can be made with noise of course, pretty much anything that has an unnatural-looking gradient can be supplemented with random noise to break up the change. Although procedural generation with a semi-random number generator of some kind is common, it doesn't necessarily have to use one. Procedural mesh generation can be used to create 3d geometry on the fly according to a particular algorithm. For example, creating a firing arc to display the path a projectile will take or a simple ring used for a selection circle.
3. Depends on what kind of procedural generation you mean. Like JTippets pointed out so well, content generation uses quite a bit of procedural generation. Whether indie devs realize they're using it or not, almost all of them are probably using it at some point in the creation process. Photoshop now has so many algorithms to apply filters and transformations it's amazing, Substance Designer and Filter Forge are pretty much designed around procedural generation for textures, and 3D modeling apps use complex algorithms to do a variety of things like boolean operations, decimation, and beveling just to name a few. If you mean run-time procedural generation, I'd refer you to my assertion that it is a double-edged sword and while they may be missing out on some of the pros they're also avoiding the cons. Also, not every project is ideal for procedural generation, sometimes it hurts more than it helps.
4. This is a tough one since there are a lot of games that use procedural generation but I think the biggest impact on me personally has been the Civilization games. I have lost track of the amount of time I've spent playing the beginning of a game and exploring the new terrain. Even after I got bored with actually making a civilization, the fact that the terrain was new and interesting every time made me keep coming back. That idea, the ability to have an infinite amount of content to explore, is both the greatest promise and biggest pitfall of procedural generation. While I think that it is unquestionably the way of the future, I don't think it's there yet, not by a long shot. While a lot of the dreams people have for random generation are unreachable now, that isn't to say they won't be as hardware and software improvements continue to stream in.
5. Most of the work and research I've done on procedural generation has been for small prototypes that I never published. I did make a procedural island generator for this game but I ended up just using static geometry for a set amount of islands instead. Although in that game I did use procedural generation for the firing arc and the docking ring.