Though the material used is a key factor in determining the performance of a heatsink, another very important aspect is the design. When I say design, I mean the heatsinks' shape, size, fins, pins and so on. Firstly, the larger the heatsink's surface area, the more heat that will be transferred.
Surface area is basically the amount of the heatsink's surface that is exposed to the air. This is why, rather than making a heatsink one solid block, manufacturers often include fins or pins on their heatsinks to increase its surface area without increasing the size of the heatsink itself. The surface of each fin is often ribbed as well, increasing surface area even further.
The base of the heatsink should be flat to allow heat to easily transfer from the CPU, to the heatsink and into the fins where the heat is dissipated. The heatsink's fins should also be aligned vertically so air can flow freely through the heatsink.
To make them more attractive to the consumer, manufacturers also tend to anodize their heatsinks. As mentioned earlier, the colour of the heatsink can also determine how well it radiates heat, however; there will be no real-world performance difference. Make sure you do not purchase a heatsink purely based on the way it looks. Keep in mind that sometimes units are not scientifically designed for maximum performance, but rather designed with aesthetics mainly in mind. This can be very off-putting to the unsuspecting consumer who will most probably purchase a heatsink because it looks better. A lot of the time the simplest looking heatsink can perform the best.