Assuming that both are capable of creating a great product, there are benefits to adopting both solutions:
A freelancer will give you more time and attention, have lower prices, in general your feedback is invaluable and therefore will do almost EVERYTHING to please you.
A communication agency can give you more guarantees and generally a team that can assist you in different fields - copywriting, seo, graphic design etc.
This is not to say that a freelancer cannot provide you with these services, they simply rely on other trusted freelancers who specialize in these areas.
A little advice! To create communication, there are 4 skills that must work in synergy: Web / Graphic Design, Web Development, Copywriting, SEO. Don't trust those who say they can do everything!