Reason 1 - Gasoline, like any other liquid, evaporates less when it is cold. You have seen this - if you pour water onto a hot sidewalk it will evaporate a lot faster than it will from a cooler place like a shady sidewalk. Sometimes you will see people spray ether into their engines in cold weather to help them start - ether evaporates better than gasoline in cold weather. Reason 2 - Oil gets a lot thicker in cold weather. You probably know that cold pancake syrup or honey from the refrigerator is a lot thicker than hot syrup or honey.
Oil does the same thing.
So when you try to start a cold engine, the engine has to push around the cold, gooey oil and that makes it harder for the engine to spin. In really cold places people must use synthetic motor oils because these oils stay liquid in cold temperatures. Reason 3 - Batteries have problems in cold weather too. The chemical reactions inside of batteries take place more slowly when the battery is cold, so the battery produces less electrons. The starter motor therefore has less energy to work with when it tries to start the engine, and this causes the engine to crank slowly.