Is a Hard Drive a neccessity?
Well technically not for playing games, you only need space for save games (just like the PS2) and that'll fit on 256MB fine, BUT
1] If you are going anywhere near Xbox Live you probably will need a HD of some sort. Primarily because you can download movies [full movies mind you] , game demos and full games [this can be 1GB+] and alot of content for games you own [i.e. like an extra area in Fable 2 or additional songs for Guitar Hero] . In fact there's patches for games too [just like on pc].
2] If you plan to use your Xbox as a media player on your TV, then yes, obviously you'd want a HD. However in my case i stream everything from a PC anyhow (Xbox integrates nicely with Windows Media player).
3] You can install a game onto the HD in full, which has the same effect as on the PC [playing from the disc vs playing from your HD] ..faster load times , no disc swopping [if it's a multi disc game] etc etc. This can take up 8GB+ per game easily.
Now the only thing one can wonder about is how MUCH space you really need. I have the 20GB model, never felt i needed more, 160GB is too small for my movie collection anyhow so i would STILL have reverted to my 1TB/500GB external hard drives for media related action.
The xbox does have a USB port and you can technically plug in an external usb drive in there...but you need to format it a certain way [FAT32 i believe] and i don't know if it can be used for game content. But you should be able to use it for any media content [movies/music/pics]
Anyhow depends on your actualy intended setup, mine is Xbox -> Network Cable/Wireless -> PC -> 3G Modem -> Xbox Live (Internet). Since my xbox can access all my PCs content [via Windows Media player] -anyway- , i don't need to put anything on my xbox itself. However Xbox Live content is another story.