I'm not very familiar with Ubuntu or Vista, but generally, here's how it works:
If you want to be able to share files between Windows and Linux, then yes, you'll want four partitions. Or if you want to save hard drive space, you could stick with three partitions, and use a USB stick for file sharing.
First, install Windows, creating one partition that's only as big as you want for Windows. If you install Linux first, then Windows will overwrite the Linux boot loader, and you'll have to use a Linux rescue disk to recover it.
Then, install Linux. Give it a root partition which you'll use for all of your Linux-only files. Also create a swap partition, which should usually be twice as big as the amount of RAM. This is what Linux uses for virtual memory. On some systems you can get away without swap, but you'll almost always want it.
When you create the partitions, look for an option that says "Force partition primary". When I have four partitions or less, I always check that on every partition to make things simpler.
Now, this leaves some empty space for your shared partition. I would leave it empty, and create it in Windows later.
Without the shared partition, Linux might be able to read your Windows partition, but Windows wouldn't be able to see the Linux partition.