The crazy thing about most banks in the US is that, like many other industries, they can't seem to abandon the old ways. They are presented with ways to save vast amounts of money (processing paper checks is expensive), but because their customers also see benefit from it, they feel the need to charge insane fees for it, thus discouraging its use.
Example: If I want to send money directly to someone's account electronically (much more efficient than processing a check!), I can log into my ING Direct account, send an "Electric Check" (or whatever they call it these days) for free, and it's done. Or, I can approach my other bank/credit union, and ask to do the same. They call it a "wire transfer" and charge me $20-40. Say what!??
Our small company currently offers direct deposit of paychecks (but not expense checks, etc.), but it's been off-and-on through the years, because every bank we've ever worked with charges for the privilege, and in many cases requires special software that is a pain to use (a small company isn't going to pay big bucks to develop a dedicated banking interface, so they use the junk that they're given). In some cases, the amount they charged was ridiculous; now the rate is lower (I don't know what; I'm not the CFO) and we have more employees, so it was deemed worth the cost.