I come from a world that favors building your own rather than rely on libraries and frameworks built by others. After escaping this world I have found the joy, and ease, of usin
Performance is improved with typed datasets over untyped datasets (though I've never found performance issues with trivial things like that worth worrying about).
I'd say the biggest pain is just keeping them in sync with your database--I can't speak for VS 2008 but prior versions do not provide good support for this. I literally drag the procs onto the designer everytime the resultset's schema changes. Not fun.
But, you do get compile time type checking which is great and things like Customer.Name instead of Dataset.Tables(0).Rows(0)("Name").
So, if your schema is relatively static, they may be worth it, but otherwise, I wouldn't bother.
You could also look into a real ORM.