Cast iron can be washed, but not in the dishwasher and not with detergents which can break down the seasoning that keeps food from sticking. Cast iron develops a microscopic layer of baked on carbon, which is the seasoned coating that makes it non-stick. Cast iron is mostly indestructible, and if properly cared for will last for multiple generations. You could pass your cast iron cookware down to your grandchildren, or even their kids!
I have about 15 cast iron skillets, pans, griddles etc, and I use it every day for multiple purposes, including frying eggs.. The only thing you should not use cast iron for is cooking tomato based sauces, as the acid will interact with the iron.
Other than that, I have one stainless steel sauce pan that I use almost every day.
Copper cookware is good, but hard to keep shiny. It heats up quickly and distributes heat evenly.
You have to baby non-stick, to prevent scratching it with metal utensils, and it still won't last forever.
I personally don't like aluminum because it loses heat so quickly and heats unevenly. If you get aluminum, get anodized aluminum; it doesn't react with acidic foods.
Stainless steel is really good, but don't buy cheap. Invest in good quality stainless steel, or even better, one of those bi-metal stainless steel pans, with a layer of aluminum or copper between two pieces of stainless steel in the bottom.