RIM has extremely talented engineers and developers, but it does not have a culture where engineers can say "We are doing the wrong thing" and have any decision-makers take notice. This is the fundamental problem with RIM. They have completely failed to effectively use the talent they have. If I were another technology company, I would definitely be trying to poach talent from them.
(Disclaimer: I'm a former RIM employee.)