The reason vomit stinks is because vomit contains bile and stomach acids.
When you vomit that bile and stomach acid is mixed in with the vomit and vomit also contains other bacteria that makes it stink as well.
But the main cause of the stinking vomit is the bile along with the stomach acid.
The bile is what helps your body digest fatty foods but when that bile gets mixed with the vomit and stomach acid it makes the vomit stink.
Vomit also tastes bad because of the bile, stomach acid and the bacteria.
When you puke or vomit the bile comes up along with the half-digested food.
It's normal for vomit to stink and normal for bile to come up with the vomit and eventually the taste in your mouth from the vomit will go away.