Tough question as there is no universal answer to your question. It depends on several different factors. With that said, there are a few different criteria you need to use to base your decision:
1.) How many people are using phones and what is your budget? Unlimited extensions is great in larger settings but sometimes it is best to pay a little more, per user, as 'limitless' plans tend to tack on fees for small features usually included with a 'per extension' setup.
2.) Are you making a lot of inbound or outbound calls? Many providers charge a set fee for an unlimited amount of extensions but "meter" the amount of outbound and incoming calls then charge for minute for every line. Generally speaking, inbound calls are more expensive.
3.) How many mobile users? This can also mean how many people occupy more than one office. Make sure to see if your plan includes multiple locations (or a mobile application for a smartphone) for those on the move. Otherwise, you may incur extra fees.
Ideally, it is best to speak with a rep from any given VoIP company to obtain a more accurate quote.