One word. Spandex.
As far as Kim Kardashian, they say that is going off her waist size, which her waist is tiny.
I had an ex co worker. Girl had a butt like no one's business. LOL She was a little taller than me (I'm only 5'2) and really curvy, but with a tiny waist. She wore 7 jeans in size 26. At the time I was about 100lbs and I wore non stretch jeans (like Diesel or Frankie B) in a 25 (size 2) or I could jam into 24 (size 0) for nights out. My low hip measurement was 33" and hers was 38". (We worked in fashion, so we all knew eachothers measurements by heart LOL) I was surprised when she told me she wore 26 bc she has a butt like Kim Kardashian. It's bc of the spandex. When she finally bought some Diesel jeans, she got a 29. And yes I was always really moody during this time, bc I was always hungry.
Also all labels have their own fit, and a size 2 in one company is not the same as another. There is "vanity sizing" which is what higher priced labels will do, their sizes run big, so the customer wears a smaller size in their brand. Usually budget and junior lines tend to run small.
Sizing has changed in the last 20 yrs or so. In the 80s, there was no such thing as size 0. I remember there was a store at the mall called 5-7-9. They catered to smaller customers and didn't carry anything larger than a 9. The smallest size was a 3. Even prior to that, sizing was based off the Wolf sizing, which are the Wolf brand dress forms designers use to make their patterns off of. The industry standard is an 8 (which is still used in the industry today), however that translates into a store size 4. (Models are usually this size. Though they look like 0's, they usually are not. Their height makes it near impossible.) So you know when people say Marilyn Monroe was a size 12 or 14 or something? They are talking Wolf sizes. So that would be around a modern size 8.
Sorry for the history lesson.
So the only way anyone can really be a size 0 is if either you are less than 5'5 and really thin or a prepubescent girl. LOL
Plus I think Jennifer Hudson doesn't even look like Jennifer Hudson anymore. She looked the best when she first came out for Weight Watchers.