I am an Indie Publisher who only publishes the books I have written. I personally publish the books I have written because I do not want to lose control of my books by any decisions made by traditional and or vanity publishers.
1) Traditional publishers are the best way to publish books; since they offer editing and connections to market a book. however, an author must be accepted, and it is a slow and torturous process that can last from months to years.
2) Vanity publishers require payment to publish a book. However, if an author does not know how to format a book and cannot upload it to a book seller, a vanity publisher might be the only way to go.
3) Amazon/Kindle offers authors a way to publish an author's books without paying a cent. However, you must be computer savvy and format the book so that it can be offered for sale online. I use Kindle to both publish eBooks and Paperbacks.
4) Barnes & Noble and Ingram Sparks also offer a way to upload a book for sale.
An author must do research and then decide what is a good way to publish their work.