Misty,
First I think it's great you were able to find an institution to cash your check free of charge! Wish I had a place in my area.
As far as the bank's decision to charge check cashing fees, it goes two fold for them. While inquiring about these fees myself (as my bank who I don't want to mention just raised from $5 to $10), I got two different answers both justifiable in my opinion.
The first and most obvious reason was to encourage non customers to start banking where they cash their checks - makes total sense. So if a regular employee of a local business is constantly getting a check drawn on a bank different than his own (used to be my case), why not bank where work banks to save these costs? While the fees may be a little high, the reason is understandable. Expand to new customers.
The second reason which I never thought of until a supervisor mentioned it one afternoon is that it helps prevent fraudulent cashing and losses to the bank. They didn't have my information, records of who I am, or any way to track me. If I brought a fake check into the bank with fake ID that was good enough to pass at the bank, that cash can never be recovered once it leaves their hands. So again, the fee is a deterrent for non customers to open accounts and "establish a banking relationship" (which means being able to track and view your normal activity).
All in all, is the idea of having check cashing fees reasonable? Absolutely. But the amount of those fees? Well thats a whole different story...Although this won't ease the pain to your wallet I hope it may have at least eased the idea for you as it did for me in the past.
Good luck Misty.