Technically, a translation company carries out all translations in-house, and a translation agency outsources all their translation work. This means that when dealing with a translation company, the number of languages offered is more limited but they are likely to have expert knowledge of the languages they do offer. When you require translation into one or two languages, it is worth finding a company where the translations are done in-house.
Translation agencies on the other hand rely heavily on freelancers, which makes them more flexible and cost-effective but it also means they might not be experts on the language you require. Before choosing a partner it is best to ask which languages they tend to work in, to ensure they have in-depth knowledge of your intended audience.
The distinction between the two is fading, and many agencies now carry our some work in-house, and many translation companies outsource work to colleagues. Translation agencies and companies may also describe themselves as Language Providers, Localization Specialists and similar titles.
Media Lingo started as a translation company that translated English into Dutch only. We are still specialized in English and Dutch, and almost all Dutch translations are carries out in-house. We outsource some of our proofreading and Dutch into English translations.