It is usually not installed there. Most of the time, GRUB (stage 1) is installed in the MBR only, on Linux.
Although GRUB version 1 will always overflow a little in the 30 kB following the MBR (stage 1.5, i.e. filesystem drivers), with GRUB version 2, the code installed within the MBR can load some other and bigger code (stage 1.5) by raw reading any sectors from the disk (but will usually stick to GRUB 1 behavior -- that is, loading code from the 30 kB after MBR).
Those 30 kB are usually available non-partitionned "free" disk space, because for historical reasons it is pretty rare for the first partition of a disk to start before sector 63, which leaves at least 512*62 = 31 kiB after MBR.
Then, it loads some files, usually from
/boot, like the menu (
grub.cfg), more filesystem drivers, etc. This is stage 2.
After that, is has enough to launch an OS.
As for the VBR now, it is not commonly used on Linux partitions because it is not reliable enough, but MS Windows usually installs one at the beginning of system (C:\) partitions. GRUB will just execute it if you want to start Windows. This process is called chainloading: a bootloader which launches another one. This also means that the filesystem used there must leave untouched the beginning of its partition, because it could overwrite the VBR otherwise! The amount of "untouched" space available depends on the filesystem, so there is no good guarantee: it could well be very small...
About loading stage 1.5 from an "unusual" place, as I said, GRUB 2 can load its stage 1.5 from any sector on the disk. It may be from a file, but this can be dangerous because the filesystem can decide to move that file to other sectors on the disk anytime (or even worse, fragment it!), and GRUB would need to update the new sector number in the MBR each time...
An interesting case is GUID Partition Tables (GPT). They are too big to ensure that enough space (30 kB) will always be available for stage 1.5. The recommended solution in that case is to use a dedicated "boot loader partition" (not a problem since GPT can support 128 partitions) that will not host a filesystem but GRUB's stage 1.5 data. This way, it shall not move anywere, and you can give it plenty of space.
You should really read wikipedia's GRUB article where I got most of this information.