Second question, if you can pick CP OR AP only in a good program vs AP/CP in a not so good program, which one you prefer? please explain.
That's basically an invalid question. Most programs treat AP-only and AP/CP applicants as equivalent for the purposes of the match, and some don't even make you decide. There are some program for which first year is entirely AP, and you can change your mind during that year without any problem. So your situation posited about is not a real situation for AP only vs AP/CP.
CP only is a different story because many programs will consider these applicants separately. In part because CP residents can't cover the AP services (which need residents) and most CP services can run without any significant resident participation. Bear in mind: The vast majority of CP-only residents fall into one of two categories
1) Researchers whose primary focus in their career will be on research (probably grant funded) and may have a side part of their job (10-20%) which is clinical.
2) People who do CP-only and then end up doing AP after all after a period of time, because they realize they don't have much to offer the job market.
I met one resident once who dropped AP because he/she did not like doing autopsies and just couldn't handle it. I don't know what ended up happening with that career (there was no research component) but I'm guessing it wasn't very successful. If you're hoping that a reasonable "back door" into a large program like MGH or Brigham is to be CP only (and then switch to AP/CP) I wouldn't count on this potential course of action as being realistic.
Reasons to do AP/CP
1) Better private practice job opportunities
2) More training. In my program, for example, we have rotations alternating by month (not by year) so Ap and CP rotations are interspersed throughout the year. In a sense, it is like having four years of both, because I go back and forth and stay on top of both areas. The way it is set up it is also easier to work on projects, take vacations without trading things with someone who will have to cover you, etc.
3) Breadth of knowledge. Many things you learn in CP will help you in AP (or just in knowledge of medicine in general). If you do AP only you will have some heme and molecular training anyway, so that's kind of minimized.
4) It's only one more year (some people say the extra year is a reason to do AP only, it depends on your perspective).
You will be able to get certain private jobs if you are AP only. Usually this is only a realistic option if you have specialty training that is in demand and the group is large enough to not have to have you cover CP issues. I know of Ap-only people who went private who were dermpath trained or GI path trained.