There is no single right answer for 1 CCW gun that will work for you at all times... if you have 1 gun for CCW you have compromised in some way at some time. Risk revealing your gun when you need discretion and the gun is too obvious, or you carry too small when a full size gun would easily have worked.
Full size gun is your best choice most of the time, if you should need to use a gun... more ammo, easier to shoot, easier to aim, easier to manipulate.
BUT, remember the gun is a tool, and tools have specific needs... you need more than one type to complete your CCW wardrobe.
Have a full size, or medium size handgun in sometype of hip holster when you can... an IWB with those of use with bodies that can utilize them, hiding a full size 1911 is no problem, or Glock/XD/S&W, heck even a large revo is not a problem. In the winter, and times when my clothing allows, this is the best choice.
However, there are times that discretion is needed, and having that full size gun or something along those lines, just isn't going to fly, so you need a small gun, like a Shield, keltec, Kahr, etc... in 9mm is probably your best choice... again with a IWB holster or pocket holster if you have one small enough to fit in a pocket holster.
NEVER CARRY IN YOUR POCKET or PURSE WITHOUT A HOLSTER!!!!!!
Then there are times that you need super discrete, the 380 series of pistols, P3AT or equivalent with a pocket holster is great and will do the trick.
My personal carry guns are 1911 in Govt and Officer's size in .45 when I can with spare mag on belt in a Milt Spark IWB holster. For times when I'm feeling the need, I carry a XDM in 9mm IWB Crossbread with spare mags...
I also carry a Keltec P3AT with spare mag in either a Crossbread Supertuck or Desanties pocket holster depending level of discretion that is needed.
All that said, the best gun to have is the one you have with you, don't 2nd guess your choice, have it with you whatever it is, and learn to carry it with comfort.