Here are few suggestions for an home server usage (or at least this is what I do with mine)
- NAS and file sharing across the local LAN (like many folks here): music, photos, videos, films, software, configs and backups
- file sharing with: Samba, FTP, RSync, NFS. I use these services for sharing my files across the lan. Samba and FTP for general file sharing (media centers, computers, ...), NFS for my Solaris and IRIX workstations, RSync when I need to sync documents and my personal wiki documentation between laptops and the server itself.
- Streaming: uPnP with mediatomb, many electronic appliances supports it like TVs (DLNA ready), consoles (PS3, XBox, ...) and cell phones (Android with upnp sw for example)
- audio/video streaming with Icecast. I use it as my internal radio station for streaming MP3 files, with the same method I stream internally few cool webradios on the Net
- lan web server: I've some homemade apps on it, I'm not using Apache but lighttpd, it's faster and my internal workload is pretty low
- home automation software and security. My own apps controlling real hw, sensors, ...
- mail server: if you use procmail+exim you know why I've an internal mail server at home
- download station with torrent, mule, ... for legal file sharing only :-)
- remote control sw (VNC)
- VoIP !!! nobody mentioned it before ! I'm trunking channels with asterisk and I'm using it to reach remote friends
These are my reasons to keep an internal home server, I don't develop web apps or I don't provide site hostings for work, it's just a personal usage but in the same platform I may host personal portals and web apps (with the appropriate bandwidth)