The Mozilla calendar program will handle .ics files.
For publishing calendar information to a website, I recommend phpiCalendar which generates a php version of the full calendar view, and also creates RSS feeds. Use a script to parse the RSS feeds to include a custom itemized view of "upcoming events" and such on your front page...
The part I'm having problems with is getting calendar refreshes in iCal to publish correctly such that the entire calendar information isn't corrupt. I'm having to export and manually upload the .ics file when I make changes to my calendar.
This is not a weakness with my suggestion though, just an iCal problem.