My knowledge of cheese making is extremely lacking, but what determines how hard or soft the final cheese product is when making your own cheese? 
Harold McGee, in On Food and Cooking, is very detailed in his explanation of how cheese "works". He describes three stages.  In the first stage, lactic acid bacteria convert milk sugar into lactic acid. In the second stage, which overlaps with the first one, rennet (an extract of calf stomach - or, to be more precise, chymosin, a protein found in this extract and now also obtainable from yeasts  and the like) curdles the casein proteins and watery whey is drained from the concentrated curds. And finally, in the third stage, the cheese ripens, and a whole host of different enzymes do all sorts of things to flavour and texture.  According to McGee,     Acid and Rennet form very different kinds of curd structures -- acid a fine, fragile gel, rennet a coarse but robust, rubbery one -- so their relative contributions, and how quickly they act, help determine the ultimate texture of the cheese.   He goes on to describe how mostly acid coagulation leads to softer cheeses and mostly rennet-based coagulation leads to firmer curds and harder cheeses.   Draining of the whey also strongly affects the final texture, as Sobachatina points out in her excellent answer. Pressing firmly expels much whey and thus leads to a harder cheese; softer cheeses are just allowed to drain some whey by gravity. But there's another important factor here: heat. Some cheeses are "cooked" in their whey at this stage, to a temperature as high as 55C (130F) for a rock-hard Parmesan or about 38C (100F) for a somewhat softer Tommes, and this expels even more whey from the curd particles (and, of course, also affects flavour).  At this stage, salt is also added. Salt draws some moisture out of the curds as well and is a catalyst for the denaturing of casein, thus reinforcing the protein structure.  McGee also discusses aging of cheese at some length, but he doesn't really touch on the effect of aging on the structure of cheese. That effect is certainly there; a very young Gouda cheese is almost as soft as a Camembert, whereas a very old one gets close to Parmesan hardness (if it doesn't crumble to dust). I imagine that this is due to some moisture escaping the cheese, but also due to the fact that the protein networks keep growing more and more interconnected as the cheese ripens. 