Metal film resistors are better than carbon film but they're generally around twice the price, not that this matters because resistors are very cheap anyway.
You'll also notice that resistors come in seemingly odd values i.e 1.5k, 3.3k, 4.7k and 6.8k, rather than more round values, this is because of the tolerance. The numbers I've just quoted a the E6 series which means there are 6 values per decade and are used for components with a 20% tolerance or better, the E12 series is 10, 12, 15, 18, 22, 27, 33, 39, 47, 56, 68 and 82 and is used for components with a 10% tolerance or better. If you take any value and select the nearest E12 value, the number will always be within 10% of the desired value, obviously you need to then factor the additional tolerance of the component in.
In general when designing circuits, try to use the lowest E number values as you can, i.e. don't use 36k when 33k or 39k will do. This makes it much easier for people building your circuit to find the correct parts.
Wikipedia has much more information on preferred values.
Preferred number - Wikipedia, the free encyclopedia
It's possible to make any E12 value with two E3 value resistors and make and E24 value with two E6 value resistors with a reasonable degree of accuracy. Of course don't forget that there's little point in making an E24 value with 20% tolerance parts.
**broken link removed**