There are a lot of nuances between the different advice. In general, anything that requires human labor or passes through someone's hands will cost more - it's an administrative fee for physically ordering something, paying for postage fees, etc. Although getting money at an airport ATM is generally fine, some airports have a disproportionate number of ATMs that are of either the Travelex variety (non-bank ATMs) or ones that specifically target the captive audience of passengers with additional flat fees that you wouldn't see in normal ATMs in city centers. That's why they're not always the best bet. You have to actually search out the best ATM to use sometimes. But, even if you get a turkey ATM, you can skirt around it by simply withdrawing a minimal amount that will tide you over until you get into town (obviously, you're better off with ATM debit cards that don't charge you a flat fee with every transaction - otherwise, you're incentivized to remove large chunks of money to carry around in order to minimize the number of withdrawals).
The way you get a definitive answer is simply to compare your options and do the math. The bank has to state its fee for making exchanges and the exchange rate...compare it to the current interbank exchange rate (available online) to figure out the bank's markup. There will be a markup - no service is free. Some people will gladly pay extra to arrive with money in their hand - they believe that the extra cost is a worthwhile tradeoff for their anxiety (in arriving without any cash on-hand). Other folks, myself included, are perfectly comfortable without having cash on hand and use an ATM upon landing (I have no stress over any of this stuff). When picking out the best method for you, count the physical expense and the emotional expense, if any (of feeling comfortable, avoiding stress, saving a minimal amount of time by having cash ready to go, etc.)