Hindsight always is 20/20 so why not ensure that you make sensible decisions about your project before a single line of code is written?
1) Is this a system app?
Applications that integrate themselves into the host OS must be written using completely native techniques. A good example for that would be a file system driver or a similar utility: attempting to create it with plugins is a sure-fire way to ask for pain and grief.
2) What do I know already?
Learning a new technology as a project runs is a sure-fire recipe for a disaster. If you are an expert at Android’s API, a product with an urgent deadline must be tackled using your existing knowledge if at all possible, rather than diving into something new.
3) Does it run on the web?
4) Where can I find help?
Admitting when one is in need of assistance is a badge of honour for programmers and designers alike. Assume that something will go wrong: think about where you can find help. Think about who is skilled in that area and the kinds of contacts they have.
5) Is this a game with high-quality visual FX?
Even though PhoneGap can create basic 2D games, displaying high-performance 3D visuals with competitive looks tend to require the use of a native or at least a semi-native technology such as Qt. In such products, the performance penalty imposed by an interpreting runtime is unacceptable.