My recommendations -
For the site - I personally would disable the file attachment function. I think the space/bandwidth could be used for other things (more PMs, larger avatars, etc.,). If someone asked how to attach a picture, I would refer them to using photobucket. By doing this, you cut down on space and on bandwidth taken up on the server.
For users -
Image hosting
I recommend photobucket for image hosting. With photobucket you have a ton more options that you can use. Resize, special effects, organization, rename, you get alot of space and best of all - its free. I even have the upgraded pro version.
Photobucket also automatically resizes pictures upon uploading to a certain size. 1024x768 is the largest you can use on the free account, but the pro accounts can do some very large pics. 3 or 5 mph i think. You would see grains of dirt on my XX from 20 feet away haha.
Video Hosting
Youtube. Get an account on YouTube and start uploading your videos there. They have options that allow you to insert comment bubbles now at certain times on the video and alot of other neat features.
Photobucket has video hosting as well. The one and ONLY thing I like about photobucket hosting over YouTube hosting is that whe you upload a video, you dont have to wait for it to be processed like you do on YouTube, which sometimes take up to 30-45 minutes depending on the length of the video you just uploaded.