I'm looking for a way to remind special dates per user profile. I mean remember birthdays, marry dates, graduations.
The idea is to display in the home page a block with all those reminders for all the users.
Any suggestions?
I assume you want to show a Block with such reminders (not "sending eMails" ...). To do so, use the Flag module to create a global flag, say you name it "Show Reminder", and then use the Views module to create a block of all "flagged content" (using this flag), similar to what is explained in Creating global flags and listing flagged content in Views.
You don't want to manually flag (and unflag) all such content every day, right? But that's what the Rules module is for: create a (1st) rule to "flag" whatever node, user, etc fits your criteria for "current day", and a similar (2nd) rule to later on "unflag" them again.
Use the Rules Once per Day module to schedule both rules described in Step 2.
In case any node or user that "should" show up, doesn't show up on a specific date (since its date is missing or wrong), it's a matter of just flagging such node or user to have it also appear in the block.
For some node or user you for which you don't have a date, but which for some reason you also want to be shown, just flag it and it shows up also.
Flagging a node or user can be configured in such a way that you can separate its required permission from editor permissions. That opens possibilities for having various types of users contribute to producing such reminders (if that is what you'd want).
Try the Date Reminder module. Some more details about it, from its project page:
Date Reminder allows a registered user to request an email reminder to be sent at a specified time before an event.
Flexible enough to work with different type of events, as it works with any node type which has a CCK datetime.