depends on what you want to do - half day can be enough if all you want is to visit red square...
you can watch theater or ballet or circus performance, ride metro and explore design/art of stations, take a boat ride along moscow river, hang out in gorky or sokolniki parks visit myriads of museums, zoo, aquarium, planetarium etc, go to bathhouse, do day trips to some surrounding places..
if you are into art/architecture StP probably offers more but overall moscow is a much bigger city with more choices...