The CPU of my computer has a quite tall (about 1.5in I think) heatsink compared to the one my friend's computer had, and this question has been in my mind for a while. Does the height of a CPU's heatsink affect the cooling of the processor? That is to say, if the heatsink is short, will the processor's heat be lower compared to that of the tall one?
Actually it's the other way round.
What affects the cooling is the overall surface, the material of the cooler and the airflow around it.
Thus said, a bigger cooler is better, at least to some extent. As long as it is not just a solid block, more cooling fins help spreading the heat to the surrounding air. It has to be a good heat conductor (copper is better than aluminium). And the attached fan, if there is any, should provide good airflow through the cooler. Dust hindering the airflow is bad as well.
I should add that there is no point in purchasing a bigger heatsink if the one you are using is sufficient. Meaning, unless you actually think the specific compontent has a heat-problem or you want to start overclocking, there is no need to switch.
A heat sink should be made of a material which is an excellent good conductor of heat, so the extra distance due to the height not matter much.
I.e. this is like asking if you will get better sound from your speakers using three feet of 6 AWG speaker wire versus four feet.
The key factor in a heat sink itself is the surface area.
(And then of course other factors: the contact patch between the heat sink and the component, which is why we use thermal grease, and the air flow to convect away heat.)
To get a decent area with access to air flow, a heat sink is going to be large/tall.