Of course, this is my own perspective, and I've only been a moderator a little more than a year.
My typical day:
For me, a good amount of my focus currently is on flags, flags, and more flags. We currently have 769 flags in the queue. We might be able to knock that down to about 200, and today, I'll probably handle somewhere between 200-300 flags.
Some of them are really easy. "Not An Answer" and "Very Low Quality" flags are low-hanging fruit.
Close reason flags are also fairly simple, but require more context switching.
Then there are the custom moderation flags. Those require the most time/context switching.
If we're fortunate, myself and a few others will be able to clear the flag queue every day. There are many times we can't, because one of us is not around to help (because you can just get sick of processing flags in a day).
But that's not all:
Of course, there are (many) times when what we do is contentious.
At best we'll get a comment @ us somewhere asking (or sniping) at us. We'll usually go and review our action.
And then there is Meta:
There are times when a situation requires more than what can be fit in a custom flag box, or, someone wants the consensus of the community.
Or (and this is unfortunate), there are times when people want to express outrage over an action that has been taken.
In all of these cases, they'll come to Meta and post.
Most of the time, the community here on meta, or the other moderators will support or post even though they weren't the moderator that performed the action in question.
I have to say, that's one of the many awesome things about the Stack Overflow moderation team. When I first joined, I thought that I had to answer pretty much every call-out on Meta involving a decision of mine. I learned quickly that isn't the case, and that I have a group that supports me, and I do my best to support them.
This doesn't mean that they blindly support me, if I'm wrong, then I'm wrong. It's those times where we'll post our response to what happened, and hash it out with the community.
There's also the feature requests, commenting, and general feedback loop that moderators give, either because there is a gap, or to promote understanding about the governance of Stack Overflow that any user can participate in.
The social aspect:
A good amount of my day is spent hanging out in the private chatroom for all of the Stack Exchange moderators. We talk to other moderators about moderation issues, and we have meetings (with optional attendance, but it's worth being a part of) among all the moderators.
That room is important, because we can all share our experiences and views on moderation, and many times, if there's something we have a question about, we can get a number of viewpoints on the topic (or be reminded of the viewpoint, if necessary). Of course, it's an opportunity to provide that insight to others (even though it might not be something that helps their site, as all the sites face different issues).
However, most of the time, there's a great amount of fooling around, and that's ok as this room is a place where moderators can go to de-stress.
And like any group, there are politics, people who don't like one another (I'll be frank, there are people who loathe each other in there), but we all get along and are civil.
But, I have to say, it's a great group of people to hang out with virtually on a daily basis, and they help make the day go that much faster.
Is that all there is?
Not at all. There are many moderators who contribute in other ways, who communicate in different ways.
For example, some of the Stack Overflow moderators hang out in the Stack Overflow-specific moderator chat room.
Some moderators don't chat at all. Or handle many flags. But they might make amazing posts on Meta on perceptions about the community and how we can all govern Stack Overflow better.
The point is, being a moderator, while defined overwhelmingly by some specific actions, isn't limited to just that. Each of the moderators on the Stack Overflow team has a distinct personality and it shows in their moderation, as well as what they excel at.
For example, one of our moderators is just absolutely amazing at sussing out sock puppets/fraudulent voting in a way that borders on mysticism.
Oh, yeah, and this is in the course of my regular workday.
So what's mandatory?
The only thing that's really mandatory is abiding by the moderator agreement. Beyond that, if we show up and do something every few months, we're ok.
However, if one of us is very active, and we're not going to be active for any particular reason, then the community team does appreciate if we tell them (for example, I was really light when my daughter was born last week and I told the SE staff and SO mod team).
Other than that, it's a blast. I was at a point when I was getting bored with Stack Overflow, and now I see it, and the entire Stack Exchange network in a completely different way, one that inspires me to want to do so much more for it.