There are definite exceptions. Were those people employed by your bank, or by an outsourcing company? The distinction is important, both in terms of quality and price. Internal hires are much more expensive (training, benefits etc), but generally better and less likely to leave. Outsourced staff basically don't care because they know they're being taken advantage of. So you get what you pay for.
All the problems mentioned here do exist and are real, but they're not the whole story. The management culture over there s a bit different. Managers tend not to want to be involved in anything technical. There is a 'yes' culture of not challenging requests. However there are plenty of exceptions to the 'rule'.