In Revit, we enter sketch mode to do a lot of operations, and is the way we interact with Revit to input the "geometry" parameter. Most of these operations involve sketching on a workplane and then Revit takes that geometric input and builds something with it for you, such as a wall elevation profile, a floor or a roof (by footprint).
Floor slabs grow downwards, so for example if your sketch is located at elevation 10'-0" on Level 2 and you use a 12" floor, the bottom of the floor will be at elevation 9'-0". A Roof by footprint behaves just the opposite and grows upwards.
Now this all makes sense (or not), but I have a problem with inconsistensies between how you build your roof. If you use a Roof by extrusion, it grows downwards instead. See the example below.
Now we don't typically use roofs by extrusion for flat roofs, but this was just to illustrate a point. I would rather come up with one rule and stick to it, such as see roofs by extrusion to consistently grow upwards like their footprint counterparts. You can argue that when sketching by extrusion, you know where the top of your roof is, however this seems to be a topic that can be argued from both sides. At least now you know the difference between the two modes!
You can also take a look at THIS POST for further discussion and a poll about the topic.