Nirajkumar - I think that the answer here is that it is not unethical to pay for publication. It's a simple business case of 'supply and demand'. Pay-to-publish services would not be offered if there was not a consumer demand. If researchers wish to pay for publication costs on the basis that their research is more likely to be published - then that is a consumer choice. That said, many open access journals are competitive and publication is not guaranteed. It is becoming more commonplace now for funding bodies to allow a proportion of awarded grant funds to pay towards open access (in reputable open access journals) publication.
A high-quality journal needs high-quality editors. An awful lot of literature still gets printed and distributed around the world and that's expensive. Remember, reading this, we are the ones who are most active online, and so our paper-reading habits are much more likely to be skewed towards predominantly (or even exclusively) online access, so are not fully representative. High-quality journals often also get involved in conference sponsorship, publicity, and so on. The peer-reviews get co-ordinated; there is often some vetting of suitable reviewers; their responses need to be interpreted correctly; special issues get co-ordinated; someone ensures a good balance of articles covering the journal's remit.
So, there's a lot of costs, and someone's got to cover them. If we want to publish at almost-zero overheads, we write a blog. A journal is much much more than a blog - and some of the things that make it much more than a blog, cost money
In the first place, the original author may be paid. Then the lab which spends on research work should be paid. Then the business man who publishes the work as a journal or book should make profit. The journals which have no paperback circulation to the world libraries, need not charge from the authors, at all - such journals can earn money from advertisements on concerned commodities.