The difference is unclear.i.e. there is no clear distinction.
Here's my definition:
Bolts have hex or square heads and are driven with wrenches. Screws have recessed heads, driven by screw drivers, allen drivers, torx etc.
Machinery's Handbook defines the difference based on the usage (which I have a problem with).
That difference is basically, if you use a nut with it, it's a bolt. If you screw it into something already threaded, or something that doesn't require a receiving thread (wood, sheet metal screws) its a screw.
I think 9 times out of 10, my definition works. The 10th time, the difference is stupid e.g. by the machinery's hand book definition, head bolts would be screws because they don't have nuts and the heads are driven.