Roofing is a project I personally wouldn't attempt myself, it seems there are too many ways for it to go spectacularly wrong and fast.
From what I know of roofing (which is very limited) the big question is whether to go for something like shingles or metal. If you have slate you'll need to either replace them with something else or find a specialist who deals with slate. The last thing you want is someone working with slate who doesn't know how to do it properly, or you end up with cracked slates that let water in.
If you have a flat roof you may be able to have it recovered. We have a flat wooden roof with multiple layers of waterproofing material on it. We had it totally resealed around 15 years ago and since then it hasn't let in a drop of water, whereas before we had the work done there were a few places where it leaked. Not horribly, but I don't really want water dripping into my house and ending up, well, wherever it finds its way.
In principle shingles should be easy enough to work with, and from what I gather should have a useful life of around 30 years. Metal is a bigger deal to fit but should last a long time. It can be done as a DIY job if you know what you're doing and are comfortable with the material and the height - a guy I know replaced his own roof with the help of one other, but he has a fair bit of construction experience. His new metal roof still looks very nice 2-3 years on, and should be good for the rest of his life.
I have no idea what sort of money roofing costs except that most construction these days seems to be expensive.