What’s the Difference Between Grass and Sedge?
Short answer  
Sedges have edges, and they're in different families.
See Minnesota Wildflowers for a great summary with images.
 Long answer  
Both are in the order Poales, but they are in different families:

Grasses = Poaceae (of the graminid clade)

Sedges = Cyperaceae (of the [non-monophyletic]1 cypirid lineage)


Some anatomical differences:

 Compiled using info from here and here 

 Source: New York Botanical Garden 

 Citations
 1. Bouchenak-Khelladi, Y., Muasya, A.M. and Linder, H.P., 2014. A revised evolutionary history of Poales: origins and diversification. Botanical Journal of the Linnean Society, 175(1):4-16.