Last time I used OS X it didn't have program updates or user notifications figured out. I had to use Growl for the latter, and apps had to individually use Sparkle for the former, which is basically the same as the Windows situation. I agree that Windows should have centralized solutions for these problems, though.
Growl and Sparkle are the defacto standards for notifications and program updates on Mac. They are very nice because I can control how I am notified through Growl settings (no notifications) and apps tell me there is a new update when launching (or polling while use). A recent version of Sparkle has a new option that I think is genius, update on quit. This allows me to tell the app that when I quit it, install the update. That way I don't have to wait for the app to update and restart when I just want use the app for 5 minutes.
One problem with Growl is that if you don't have it installed, some apps provide their own notifications. Then when you don't want any notifications like me, you have to configure that in each app. So it is best to install Growl and disable notifications.
Now with the app store on Mac, Sparkle might not be used as much in the future because the app store will handle updates.
Overall, I think the OS X developer community has worked this out fairly well on their own.