Some are very large, and may have teams of hundreds of developers spread across multiple locations around the globe. These development groups often offer a very wide range of services, and have experience in many different types of industries.
Other firms may be sole proprietorships, or may only employ a few individuals. These firms sometimes offer very deep expertise, but in limited areas.
Still other product development organizations fall somewhere the middle. They may have dozens of developers on staff, and they may have one or two main locations.
So, what size firm is best? Perhaps you should always just go with a big and powerful firm, because they would certainly have the resources to get your job done? Or, maybe you should always select a small firm, so that you get strong personal attention?
Fundamentally, perhaps the most important thing to consider in this regard is size match. If your project is relatively small, a larger firm may not be able to afford to give it the attention you would like. But, if your project is large, a smaller firm may simply not have the resources to meet your needs.
A good rule of thumb is that you should work with a partner for whom your project is important. But, its probably a good idea to avoid working with a partner for whom your project is a total make or break deal for them; they may not be able to deliver.