Why can't I subdivide?
Blender is subdividing the edges on the outer edge of the face, but it isn't filling in the grid tiles for you.

If you want to fill in the top face with a grid using the subdivided vertices, first delete the top face. Then select the top edge loop, and press Ctrl+F then select Grid Fill.