It was popular in the pre-Agile days. It seems like it's less so today, at least judging from what you see from recruiter's listings and such.
On the pro side, it helped get input from actual users on what they wanted/needed. Unlike Agile, it doesn't require ongoing communication between developers and stakeholders which can be good in some organizations and not so good in others. Often you can get a free lunch or two from the sessions.
On the con side, users are often good at throwing in a huge laundry list of demands and making them all 'must haves'. As you noted, there can be a follow-the-leader thing going on where someone takes over the meeting. Even worse, you can have two or more wannabe leaders in attendance and a nasty political fight over the project will ensue with developers caught in the middle. In contrast to Agile, it's much easier for stakeholders to come back with a "that's not what I meant" due to the lack of ongoing communication. And, sometimes the free lunch consists of cold delivery pizza.