Smelly feet is most commonly caused by perspiration when the feet cannot breathe and the perspiration or sweat cannot evaporate.
However even though your feet are sweating and the sweat cannot go anywhere the sweat doesn't really cause the foot odor.
The bacteria that grows in that sweat is what causes your feet to smell when your feet are sweaty.
The bacteria actually eats the sweat on the foot which then causes the smell.
Fungal infections such as Athletes foot can also cause smelly feet.
A good way to get rid of the bacteria on your feet and prevent smelly feet is to soak your feet in some regular salt water or even Epsom salt everyday.
I also put baby powder inside my shoes and socks before I put them on which helps keep the sweating and bacteria down.