Anything that gets you motivated and excited about exercising is a good program. Both programs are great if you want to improve your cardio, endurance or muscle definition. But if your goal is to gain muscle size its best to stick with the old fashion weights at the gym and lift heavy. I know in P90X you "can" lift heavy for some of the exercises but the rest time is too short and you'll soon be back to using a lighter weight.
But in all honesty, no matter what workout program your doing, if you don't have good nutrition, your not going to get results. Nutrition and exercise go hand in hand and you need to focus on both, in fact, most athletes will focus 75% of their time on nutrition and only 25% on actually working out. And that's the honest truth, from my personal experience I did get results until I got my nutrition right and I found that to be much harder to do than actually working out.