I think they are basically interchangeable words today. Sportcoat, sportjacket. A raincoat and rainjacket are basically the same thing. Thickness being the judge of terms, maybe? The length definition thing - modern man doesn't wear a true "coat" too much anymore. You can have a big winter coat that doesn't go down to your knees.
A suppose to most folks, a "jacket" tends to be something lighter and removable/carryable as weather changes. A "coat" is more thick and protective garment, much warmer.
Of course, you have the "overcoat" also. I think of this right-or-wrong when I think of a long garment, like a trenchcoat.