It's awful at banks. We're encouraged to spot other employees and write and submit 'good job' cards, which they will receive later. Then at random submitters and their recipients will be selected to win a $25 gift card. It's outsourcing recognition to the frontline employees.
I'm not against recognizing my team mates, but I'd rather not go through a formal channel. It cheapens the recognition.
Here's what I do. If someone does a good job, give something to his team, a movie, lunch, something like that. If an individual does a really good job, give him/her an on the spot bonus, no ceremony or publicity.
The morale booster is success of he team, project, company. Of course I speak of companies that I would want to work for. I have no idea what happens at banks and insurance companies.