Historically, authors have railed against this lag for two reasons: 1) They are impatient to see their books on the shelf, and 2) They are worried that in some cases, the book may never be published at all.
The second of these reasons for objecting to a delay in publication is legitimate. If the publication date is not specified in the contract (e.g. manuscript will be published within one year of acceptance), there is always the chance that due to various unforeseen events affecting the publishing house, your book may never make it into print.
The first reason, impatience, is not a good reason to object to a delay, but it is the main reason many writers opt to self-publish. Once they finish a novel, they want to see it in print as soon as possible.
Why immediate publication is a bad idea
One of the reasons traditional publishers delay publication is that in addition to the months required to edit a book, it takes between four and six months to market a book. ARCs must be sent to reviewers, pre-orders must be set up, outlets must be notified. If these steps are not taken in advance, there will be no pre-release buzz. And without pre-release buzz, the proverbial tree will fall in the forest, and it will not make a sound.
This is not to say you can't promote a book after it has been released. You can, and you should. But if you don't create a demand for your book ahead of its release, chances are very few people will buy it. Demand is the fundamental basis of selling anything - be it a new car, a new shoe style, a new book, or a new president. Create a demand, and there will be a market for your product.
If you publish immediately after you finish editing, you will have no demand and no market, which means you are virtually guaranteed a lack of sales.
What to do before publication
First, make a list of book reviewers for your genre. Also make a list of bloggers who do interviews, and make a list of those who do cover reveals. (Many book bloggers do all three.) You should have several hundred reviewers when you are finished. This will take some time, so start now.
While you are making those lists, research popular publications - online magazines and general interest sites - relating to your genre or to the subject of your book. Make a list of those that accept advertising, or which will post your book as a new release. Start making the list now. (You can use Alexa to measure the traffic to a publication's website.)
Build your twitter following. Do not use a service. You need real followers, not a bunch of people who don't care about what you are tweeting. Do this at least a year before the launch of your book.
Make sure you have a Facebook page, a blog, and a website up and running at least a year before you launch your book.
As soon as you have a cover, make a banner. Write your back page blurb, and ask for endorsements.
Six months before your launch send review requests to every reviewer on your list. At the same time, send review requests to your list of popular publications and websites, especially those which charge a fee, (Those tend to get booked up quickly.)
Three months before your release upload your book for pre-ordering on Amazon. (If you are using Smashwords, they also provide a pre-order service.) Sign up for blog tours.
As soon as you have an ARC, submit your book to every self-publishing book contest.
Schedule talks, book signings, and author events to coincide with your release date.
Plan a book release party, and advertise it. Have fun! (And make sure everyone at the party gets on your mailing list.)
Do all of the above - patiently, methodically - and your book will be a success.
Useful articles:
List of Online Reviewers Who Accept Self-Published Books
Everything I did wrong: Self-Publishing
Arranging Your Own Book Tour
10 Tips for How to Throw a Successful Book Launch Party
10 Ways to Find Your Ideal Audience on Twitter (For Writers)
The Skinny on Virtual Book Tours
You can find many more useful articles on self-publishing and book marketing here.