There are basically two types of SEO outfits. There are the "chop shops" of the world offering dated solutions like link building, etc and charging a monthly fee for supposed maintenance. Then there are credible experts who understand that the overall experience of the web assets is what catapults KPI's. One of the most important factors that's widely overlooked is technical compliance which experts adhere to and follow closer than a CPA follows tax law changes. Having said all that, ultimately, you get what you pay for. A proper outfit will charge you an appropriate fee to get your assets optimized. They will rarely charge you for monthly "maintenance" and instead may offer additional experiential suggestions for the brand. My final bit of advice is budgeting for this service so that you're not stuck learning and guessing trying to reinvent the wheel. Many try and eventually hire an expert.
The best way to do SEO without paying someone else is to teach yourself how to do the basics. FIrst, you should read several resources about SEO such as: http://moz.com/beginners-guide-to-seo Then, you should use a few free tools such as http://marketing.grader.com/ and http://raventools.com/ (Free for 30 Days) to audit your existing site. Then, implement everything you learned and fix everything the tools say is broken. Keep working at it until you rank #1 or aren't sure what else you have left to do.
Ultimately, you get what you pay for with SEO. You can certainly teach yourself the basics, but if you want to compete in a competitive market then hiring a real expert may be worthwhile once you've done what you can on your own.
SEO is very time consuming that is why good SEO companies charge a lot per month. If you are willing to save money and put time into SEO you have two options:
1- Do it Yourself - A lot of material available online
2- Get SEO consulting services - These are individuals or companies that will analyze your site and keywords and provide you with a detailed report on what is missing to rank better but the bulk of the work is done by you.
I recommend number 2 and I might be biased because I offer SEO consulting services but that is an affordable and faster way to get on the right track.
You can learn from a book or the web. It request a basic understanding of HTML.
We have a service where train our clients to do their own SEO. We send them page briefings on how to optimize pages and they get unlimited Q&A til those first 5 are done for a flat rate. Then we assist them there after in 10 hour blocks so you get trained by us as you do it.
You can learn a ton for free from Neil Patel if you have the time to implement his advice. I'd recommend reading some of the articles on his site and putting them into practice: http://www.quicksprout.com
You can also subscribe to his email courses and ask specific questions in his recently released Traffic and Conversion Forum: http://www.quicksprout.com/2013/09/03/introducing-the-traffic-and-conversion-forum-by-quick-sprout/
I don't work for Neil or have any affiliation - I've just been impressed with his credentials and found his advice to be incredibly valuable.
If you can't afford the 2500 a month, you should probably take SEO off your priority list. Done right requires building and nurturing relationships long term with bloggers, webmasters, journalists, associations, etc... so you have effective distribution whenever you create content that can't be found elsewhere... That investment is more like $5k/month for 18 months to see breakthrough results...
Depending on your CMS, your site is probably 90% technically optimized, and there are a million cheat sheets for onsite best practices, but if you really can't afford it...
Focus all your money and energy on improving your user experience. This will not only squeeze more value out of your existing traffic, but will also help your SEO long term.