I find that I stick to a few simple constructs: foreach over for or while, if-else in brackets over the ?: notation, etc. I write code faster when I'm using tools that I am very familiar with and only jump to other coding styles when there is a real need for optimization.
The main criteria is consistency. If you are consistent in your style, you can go back to your own code and immediately grok what's going on. Consistency also helps other people reading you code.
The question wasn't 'correct vs. bad' coding. If you are consistently writing bad code, then you need to change :) But if the choice is between 'good' and 'also good' consistency wins.