This is how extrude tool works.
From the wiki:
One tool of paramount importance for working with meshes is the
Extrude tool. It allows you to create parallelepipeds from rectangles
and cylinders from circles, as well as easily create such things as
tree limbs. Extrude is one of the most frequently used modeling tools
in Blender. It’s simple, straightforward, and easy to use, yet very
powerful.
The selection is extruded along the common normal of selected faces.
In every other case the extrusion can be limited to a single axis by
specifying an axis (e.g. X to limit to the X axis or ⇧ ShiftX to the
YZ plane. When extruding along the face normal, limiting movement to
the global Z axis requires pressing Z twice, once to disable the face
normal Z axis limit, and once to enable the global Z axis limit.
Although the process is quite intuitive, the principles behind Extrude
are fairly elaborate as discussed below:
- First, the algorithm determines the outside edge-loop of the extrude; that is, which among the selected edges will be changed into
faces. By default (see below), the algorithm considers edges belonging
to two or more selected faces as internal, and hence not part of the
loop.
- The edges in the edge-loop are then changed into faces.
- If the edges in the edge-loop belong to only one face in the complete mesh, then all of the selected faces are duplicated and
linked to the newly created faces. For example, rectangles will result
in parallelepipeds during this stage.
- In other cases, the selected faces are linked to the newly created faces but not duplicated. This prevents undesired faces from being
retained “inside” the resulting mesh. This distinction is extremely
important since it ensures the construction of consistently coherent,
closed volumes at all times when using Extrude.
- When extruding completely closed volumes (like e.g. a cube with all its six faces), extrusion results merely in a duplication, as the
volume is duplicated, without any link to the original one.
- Edges not belonging to selected faces, which form an “open” edge-loop, are duplicated and a new face is created between the new
edge and the original one.
- Single selected vertices which do not belong to selected edges are duplicated and a new edge is created between the two.
For a mesh to be able to exist in the real world, everything must have thickness. Generally speaking, it is a good idea to make your meshes work this way.
For example (using a cube), if you extrude the bottom face downwards, you can see it only creates four new faces around the edges:

The reason it does not create a new face for the bottom and leave the original bottom face is because you would then have a non-manifold mesh (not normally what you want):

To test a mesh you could use CtrlAltShiftM to select non-manifold geometry.
To get the shape I think you want you could inset (I) the one of the middle faces and then extrude it back. This will result in a manifold mesh:
