We are planning to book a NiN tour through Fjord Tours (I know it's not the cheapest option, but I'm going to for convenience). We have an option of a 20 minute or 2.5 hour stop in Flam. The town looks to be mostly a tourist mecca/commercial center. Is a 2.5 hour stop worth it or better just to get on the boat to see the fjords?
What time of year? Last mid- July I also used Fjord Tours. Flam was as you describe/imagine, but I enjoyed a yogurt on the dock and a brief stroll- but on a pretty day there is a longer walk uphill I didn't have time for. Also, large cruise ships can definitely impact the small port area (you can check the schedule). If this will be your only fjord opportunity I would choose the shorter option, especially if cruise ship(s) are scheduled.
I was there on Friday! Only our cruise ship was in but it didn’t seem particularly busy or crowded. It is only a small town which is focussed on boat trips and the famous railway line. There is a railway museum and a recreation of a Viking mead hall, right by the dock, which looked quite cool.
There did seem to be quite a few places to eat, including some nice looking food stalls by the station. Also a couple of tourist shops and a supermarket. We stayed very near the boat but people we spoke to had taken a walk up to a nearby waterfall.
How long to stay probably depends on where else you are stopping. For example it has more going for it than the village of Olden which is another popular stop. Gorgeous scenery but really nothing much to do in that village.
2.5 hour stop...you can walk around and there is a little walk/path up a hill that is lovely and the path isn't long, maybe a half hour walk
There is also a little beach where you can sit and enjoy the view. We were at the beach last July and it wasn't crowded at all. (The water is cold, though.)