The purpose for an appraisal is to verify the value of the property for the lender. Therefore, the buyer pays the appraisal cost because the buyer is the one asking the lender for a mortgage loan. Lenders will not finance a loan unless they know the value of the property. The appraiser is hired by the lender - not the buyer. Laws were put in place that the appraiser has to be an independent contractor not involved with the real estate transaction. This is why a lender cannot choose which appraiser they want. Appraisers are randomly selected. Because it's up to the appraiser to determine a value for the home for the lender, it is critically important for realtors and owners to set a fair and realistic price from the beginning to sell a home. Realtors are always concerned when they take a listing, they want to sell it at a price that will be approved by an appraiser - somebody they have no involvement with.
For cash buyers (no lenders involved), it is up to the buyer whether they want to pay for an appraiser or not. It is not required but buyers who are not knowledgeable with the neighborhood will pay for an appraisal to verify the price they are paying for the home is fair and realistic.
If sellers are asked to pay a buyers closing costs including paying for the appraisal, this is up to the seller. Sellers do have the right to refuse. As a seller, it tells me that the buyer is not financially prepared to buy your home in the first place and should buy something less expensive.