Having a good online and offline presence is more important than ever: nowadays you can engage customers directly from their sofas, work desks and anywhere else there's an internet connection. At the same time, small business has a limited budget for marketing and promotion, and it's never easy nor cheap to get a big structured agency on board to help.
My advice to small businesses is to stay away from those large agencies and find small independent agencies or individuals with whom they can really build a strong relationship with and potentially grow together. This way there are more chances to create a winning partnership, to be listened to more, for your partner to have more ownership for the job at hand and build a better report altogether.
Working with smaller independent or individuals doesn't mean you should not work in a structured way though: make sure you create a marketing strategy together, and tasks are allocated throughout the team, so to engage everyone in the process and keep costs low.