tl;dr: I version control mine so I have backups, can share them with my mother, and here are some scripts that will help you do part of that.
I wrote a script to extract the dates and rename each photo to the date:
http://www.mcvoy.com/lm/jpg2date
and you use it like
jpg2date *.jpg | sh -x
Then, like other people, I organize them by YYYY/MM/photos.
I also version control them in BitKeeper which has a binary asset mode (BAM) that works really well for this sort of thing. It wraps the photos in a pretty decent CRC, can use hardlinks for checkout (I can checkout 60GB of photos in a second), and because it is a distributed SCM I can push them to my mom's place in Florida where I have her mac's screensaver pointed at them.
So California has to fall into the ocean and Florida needs to blow up before I lose my photos. And I take that part pretty seriously, losing the photos would suck. Not because they are great, just because they are the record of my family.
I also put the entire lot up on the web (well, less anything that would make our nazi police think it's kiddy porn, no shots of the kids playing in the bath, don't get me started on how retarded our society has become). That script is written in our little programming language, L, but you could translate it to perl easily:
http://www.mcvoy.com/lm/photos/etc/igal-it.l
and it generates the layout here:
http://www.mcvoy.com/lm/photos
I need to put some html in there so you don't have to manually move month to month but you get the idea.