That fee is massive business for Visa etc. There was a pretty big battle between Walmart and the credit card companies a few years ago because Walmart started defaulting to “debit” as the option when you stuck a debit card into their machines (debit cards can be run as either debit or credit) in order to save money. Which of course removed that money directly from the pockets of the payment processors.
Not really. Most businesses don't set prices based on "cost plus" methodology. Maximizing profit based on price and volume is how most do it. Some merchants may choose to absorb the 3%, to compete on price and maximize profit through higher volume than a competitor who charges the same price but doesn't accept credit cards.
You "always pay the 3% fee" the same way you "always pay" for anything else the merchant may offer but you don't use: curbside pick-up, free delivery, the "free gift with purchase" you don't accept because you don't need it, generous returns policy, etc, etc.
Though the costs of cash and checks is probably more than the 3% fee on a credit card. Cash needs to be counted twice at the register, then change made which again is counted twice (at least, sometimes a 3rd time if the numbers are not the same!), then at the end of the day the manager needs to count it all twice again, and even then mistakes are made. On top of that is often stolen: by robbery, dishonest clerks, management fraud, and owner fraud (owners are defrauding the IRS, while management implies someone not the owner who is trusted to count the cash). Checks need to be counted as well, and they can bounce thus being worth very little (they are sold to collections - see article for hints to how that works). Credit cards by contrast are run electronically and so know instantly you are paid you don't have the overhead of adding up the numbers. (debit cards with the lower fees are still subsidizing the others)