Here are ways you can get the job done. Do it yourself using the many free or low cost tools available on the Web. Many, many small companies have been successful this way, but it takes persistence, a great deal of time, and a willingness to learn. Contract with companies to perform specific services for you. You can pick from a menu of services with many companies.
Some companies specialize in a single service like search engine positioning.
Engage an Internet marketing consultant to oversee marketing your site. These are difficult to find and of varying quality. Be sure to check references from their clients before proceeding. Hire an Internet-savvy ad agency to handle your Internet advertising. If you your budget can handle it, an ad agency is well worth it, because it will help you find the right sites and e-zines, and can often negotiate a price under rate card for you.