For vbulletin you just need to edit your styles to add a background.
For an html webste you need to either set the image with the background attribute in the body tag (ie. body background="bgimage.jpg"), or set a css style for it in the header. You can set a background for a container div instead of the body, either way will work. Depending on the background you want to use, you could also slice it up and distribute the pieces among the various divs for the header, sidebars, content, and footer areas. (The links Amsterdammer gave will explain how to do each of those html/css options.)
If you have a Wordpress site then it depends on the theme. Some themes allow you to select a background image from the control panel, for the ones that don't you'll need to edit the template files. If I remember right then you would edit the header.php file to add or change the body background.
And as for your other question. No it won't automatically know where your image folder is, (unless it's a preselected option in a theme). You will have to give the full or relative path to wherever the image file is that you want to use.
If you do a search on google you can find specific examples and instructions for each of the above options.