IF your company is quite large or looking to expand, then you may consider having an internal marketing department. With many web designers / developers / marketing experts charging upwards of thirty pounds an hour, it can start to become quite expensive if you are having to outsource all your online marketing and website projects.
It could be that you do not need a full time team and that just one or two people or even a part time team. Some companies chose to work alongside a marketing agency, so will have skeleton marketing staff employed but then outsource bigger projects to an agency. This allows them to keep day to day running costs of the business down but having the right amount of back up and support when its needed.
An agency can often bring a wealth of knowledge and understanding to the world of online marketing, so even if you are going to be running the marketing in house, it is worth possibly paying an agency to create a marketing strategy for your business, even if it is implemented in house. This allows you to draw on their expertise whilst keep costs low.