Well, let’s start with the easy one: the suit jacket. A suit jacket is usually paired with trousers of a matching material. The cut is typically a bit more conservative and formal. It’s made for business and work, traditionally.
The tricky part is the difference between blazers and sport coats. Sport coats have their origin in “sport”. Typically, they’d be used in hunting or horseback sports and have associated details. Such details would be a center vent so the jacket falls over both sides of a horse’s back while riding. Pockets typically have flaps so rain is kept out of them and the objects inside are kept more securely inside while moving about.
Other details you might see on traditional sport coats would be such things as shooting patches on the shoulder made of suede or leather, throat latches so the jacket can be fully closed for warmth, and slanted “hacking” pockets to make it easier to reach your hands inside while riding a horse.
Fabric and patterns used are typically of those for country, out-of-town wear. These would include bright checks herringbone patterns and more earthtones. Typically, while you could wear a full suit in these patterns, it’d be a bit much to wear a suit of these patterns in the city on business. Often, these jackets would be “odd jackets” meant to be paired with a different pair of trousers.
As for blazers, they have a different origin. The double-breasted version comes from a military background, whereas the single-breasted version is derived from club blazers of rowing clubs. Most nowadays are in navy blue, although you will see some in other colors on occasion, like in black or perhaps green (Brooks Brothers).
Blazer buttons are metal and originally would have insignia of the associated club. Granted, most of us who wear them now aren’t a member of a club and not lucky enough to have such meaningful buttons, so more generic insignia (often of the manufacturer) are used.
It’s hard to tell the difference between a blazer and a sport coat and sometimes brands and copywriting tend to screw it up, too. I’d tend to say that sport coats look a bit less formal and blazers look a bit more formal.
Hope this helps!