You do need to have SharePoint installed on any machine you want to use the server-side Microsoft.SharePoint.dll on. It's possible to install SharePoint 2010 on a Windows 7 machine, there are, however, some pretty compelling reasons not to do so. For SharePoint 2007 this isn't a real option (there are some hacks to get it up and running under Windows Vista/7, but they aren't supported and are not fully functioning).
The most common scenario for developing against SharePoint is to do development on a virtual machine. This has the added benefit of allowing you to snap shot your environment should you completely wreck something, so that you can simply roll back instead of needing to start from scratch.
I've personally had success using VM-Ware Workstation, Hyper-V, and VirtualBox to host virtual machines for SharePoint.
If you're coding against the SharePoint web services or Client Object Model, you'll be able to work from any environment with access to your SharePoint server, but what's available with the out of the box services and the COM is a very limited subset of what's in the full SharePoint object model.