The short answer
Epoxy is very hard and bonds strongly to properly prepared concrete. Polyurethane is slightly flexible, resists scratching and, in UV-stable grades, holds its colour in sunlight. Many floors use an epoxy primer and body coat with a polyurethane topcoat, so you get the bond of one and the finish of the other.
Where epoxy is the better choice
Warehouses, workshops and factory floors with forklift traffic, where you want a hard, seamless, easy-to-clean surface that is built up to a real thickness. Epoxy is also the usual primer under other systems because it soaks into and seals the concrete.
Where polyurethane is the better choice
Areas that get sunlight, such as patios, showrooms and spaces near large windows, because standard epoxy can yellow. Polyurethane also suits floors that move slightly or see temperature changes, and thin decorative finishes in retail and commercial spaces.
What about PU screed?
PU screed is different again: a thick, trowelled polyurethane-cement floor for wet process areas such as food and beverage plants. It takes hot wash-downs and heavy wear that a thin coating would not survive.
How to decide
Look at the traffic, the chemicals, the temperatures, the sunlight and how the floor is cleaned. A site visit answers most of it, and the quote should say which system was chosen and why.

