iCal will "silently" open itself if you quit it while it is in the process of updating a CalDAV server (Google / MobileMe / iCloud, etc.) This usually happens in the first several seconds after you quit the app. Your only indication is that the app icon may jump in the dock and the dot will re-appear. In essence the app was closed while it was still pushing a change so it opens itself up to complete the process you interrupted.
If the iCal database cache is corrupted I can see how that might make iCal think it needs to do an update but I doubt this would be intermittent. I'd suggest paying very close attention to when you close the app and note what applications you open between quitting and when you notice it opening again. Any applications that deal with contact / calendar syncing (besides iTunes) would be worth noting.
In case it is the cache:
1. Make an iCal backup: Click on each calendar on the left hand side of iCal one at a time highlighting it's name and then going to File Export > Export and saving the resulting calendar file to a logical location for safekeeping.
2. Go to iCal > Quit iCal
3. Remove the following to the trash and restart your computer:
Home > Library > Caches > com.apple.ical (There may be more than one of these. Remove all files and folders that start with this phrase)
Home > Library > Calendars > Calendar Cache, Cache, Cache 1, 2, 3, etc. (Do not remove Sync Cache or Theme Cache if present)
Home > Library > Calendars > com.apple.iCal.helper (There may be more than one of these. Remove all files and folders that start with this phrase)
---NOTE: To get to "Home > Library" in Lion:
Hope that helps.