Totally get where @danielblack is coming from, but I'm not fully convinced it's always a deliberate choice. A lot of the time it's just bad design from systems that grew over time. Plain language should really be the standard from the start.
What makes a fee structure go from confusing to clear? I bet it's when they stop burying the monthly account cost inside the fine print for wire transfers and just put it in a simple table up front.