both. by default if everything works right, when you take a screen shot it will automatically upload to bungie. but for me and lots of other ppl it wasn't working that way. there is a
work around post on the bungie forum where you go to your Media Menu (by clicking the start button while viewing the main halo 3 screen), then select Publish Files from the menu on the left, then once you get there, there is a screen that has several blank spots where you can click on and select the screen shots you created that you want to upload to bungie. Once you add them they are uploaded and they will show up under your Share Files menu in your Halo 3 service record. From there you just click on the image thumbnail to enlarge and save to your hard drive.
The only shitty part is that you can't do the same with your clips. The only way to view clips that you uploaded to bungie.net is to download them back to your 360. Which only makes sense to do if you are downloading someone elses clips. There is no apparent way to move them onto your hdd. I think this is because of the file save formats. They are not saved as .wmv files, they are saved as game data only able to be read by the 360. Bungie said this is so that the files are a lot smaller so you can fit more of them onto your hdd, and it doesnt take so long to load a video of your gameplay.