Different restaurants do it different ways. Here the only choice I had was what bread - dosa, puri or paratha. I didn’t know what kind of dosa I was going to get.
At Shiv Sagar, in the strip center with Himalaya, there’s no choice, it’s whatever they’ve put together that day. I don’t remember having a choice of anything there.
At Maharajah Bhog, out near me on 59/69 @ Gessner, it’s a fixed menu but all you can eat. It’s Indian style service which means the servers come around and serve you out of stainless steel buckets!! You can refuse anything you don’t want and ask for refills on anything you want more of. There’s a lot of food on the tray - 4 vegetable curries, 3 dals, 2 sweets, 2 apps, 2 pickles, 2 chutneys, 2 salads and unlimited rotis. That’s for lunch; in the evening and on weekends, there’s 3 of the things you only get 2 of at lunch.
At Udipi Cafe on Hillcroft, it’s a self serve buffet and you get a choice of freshly made dosa and beverage. They offer a choice of using a thali (tray) or Western-style plates. You can get a lot more on a tray .
Bhojan (Gujarati), last time I went was also a buffet, as are Shahnai and Haveli and Mezban (Pakistani).
Vishala (Gujarati), out on Hwy 6, is self-serve, thali, all you can eat.
Shri Balaji Bhavan is vegetarian, Udipi cuisine. Shiv Sagar is vegetarian, offering dishes from several Indian vegetarian cuisines. Maharajah Bhog is Gujarati/Rajasthani - both vegetarian cuisines.
Govinda’s - at the Hare Krishna Temple on 34th - which I haven’t been to yet - is strictly vegetarian; when they first opened people were making a big deal out of the fact they had pasta dishes and some other non-Indian fare. The pictures looks like a big cafeteria line.