Impossible to say on basis of info given, but 21" SOUNDS too big for 6'. Relative leg/torso length an important factor, plus your preferred riding position and the frame itself (especially top tube length relative to seat tube/"size" (and where the latter is measured!)).
A very broad guide is inside leg length (NOT trouser size!) less 10-11 inches for a road frame or 12-13 inches for an mtb. For example, my son is at least 5" taller than I am, but his inside leg is only 1" greater. With a small adjustment to saddle height what I ride is easily TALL enough for him, but the top tubes are way too short.
Fashion and fad also plays a part. When I was young, "everyone" rode a 23" road frame - if you were an adult, then that was what you rode! Loads of folk had the seat post and stems jammed as low as possible!