Thanks to both for the reply, I have used tags previously but I dont find that they filter quite as well, tags are more of a click 1 link instead of filtering a number of atributes that are required.
If I have a selection of products that have different weights & colours (this is just an example), and the top category is bags of sweets... when clicked on the top category would display all the bags of sweerts on the website, but, imagine for a moment that someone wanted a particular colour and weight of sweets and only wanted to see them... how do I filter these attributes down? I thought about using categories but this becomes messy really quick.