Another reason your hair may seem to never grow past a certain length is, believe it or not, not getting enough haircuts. When you go too long between trims, the ends of hair tend to fray and break off. Think about it. If you color your hair, you always grow roots right? That means your hair is growing. So that can only mean something is going on with the ends. Fraying, splitting, breaking. It's best to have a trim on your ends at least every 8 weeks.
Now for heat styling. If you blowdry, flat iron, curl your hair or all of the above, you should be protecting your hair. Try Sexy Hair 450 Degree Blow Out or Moroccan Oil Heat Protectant. Deep Condition once a week, too.
For those of us that color our hair, using the right shampoo is key. The worst thing to do with your fresh, beautiful color is use low quality shampoo. I compare it to this. If you went to Bloomingdales and dropped a lot of money on a dress, and the tag said Dry-Clean Only, you wouldn't throw it in the washer to save a few dollars, right? No, because you'd ruin the dress. Same goes for your hair. You invest a lot of money in your haircolor, so take care of it like you would that dress. Don't wash it down the drain with the Pantene.
Spend some extra money on a High Quality shampoo for color-treated hair and your haircolor will have a much longer life. Not all for color-treated hair shampoos are created equal. Sulfate-free is a MUST. I love all Moroccan Oil shampoos for this reason. Also, Biolage Cleansing Condioners. Wash your hair as little as possible and with a great shampoo. You'll thank me for it, trust me.