The weight system means you can check in normal size bags at 20kg and you're only allowed one.

Incorrect, you can have as many as you like, as long as the total weight is not more than 20K.

I have often thought about this, and also posted a thread about it a while ago, but no-one replied.

All airlines to North America, and some South American and African destinations operate the peice system, which is a maximum of 2 pieces each not weighing more than 32K (for Health and Safety reasons, no other) and not more than 62 inches in size. In addition to this, if one of these destinations forms part of a Round the World ticket, the piece system will be in operation for the whole journey.

AFAIK the reason for those different concepts is actually a question of cargo capacity. While there is a overcapacity of it on the trans-atlantic and trans-pacific sectors, there is a shortage on the remaining routes.

Anyway, I mailed IATA about it as it is an IATA regulation. Hopefully they are going to send me a reply explaining the historical reason for those different concepts. If they do answer me I will, of course, post the answer here.

The reason is actually quite simple: competition and U.S. domestic standards.

The standard for U.S. domestic carriers has historically been up to 2 pieces of checked luggage, each weighing up to 70 lbs. As the U.S. domestic carriers expanded internationally, they maintained their baggage policy on their international flights. Foreign carriers were forced to match the U.S. carriers' baggage allowance (70 lbs = 32 kg, approximately) or lose business to their U.S. competitors.

Thus the more generous allowances from HKG to SFO (also served by United) and London to the U.S. -- routes that see carriers from the U.S.A.

(b) Economy Class
No single piece to exceed 62 inches (L+B+H). Sum of 2 pieces not to exceed 107 inches for example one piece 62 inches and second piece 45 inches.

For infant one piece weighing 32 Kgs and maximum 45 inches in dimension is allowed both for business and economy class.

Charge for exceeding weight / dimension
Weight Basis: 33-34 Kgs per piece. One extra unit I.E Rs 6000 for USA and Rs. 6500 for Canada will be charged. Weight more than 45 Kgs per piece will not be accepted.

the piece system applies to all flights going in and out of N. America. It's the IATA rule. Airlines have to comply with it. The rule is not set by airlines themselves. If you fly from BOM/LHR/JFK, the piece system can still apply to all legs you fly including the one from BOM to LHR. If you are just flying from BOM to LHR, weight system applies to you.

Just to mention, even if there is only one US destination/point in your ticket you are allowed for piece concept. Let say if you fly LHR-ZRH-HKG-NRT-LAX-MEX-GIG-EZE-JNB-FRA-ZRH you only have two sectors (one into and one out of the US) but as long as ALL flights are in the same ticket (in conjunction) with the US segments you are allowed to have 64kg on ALL flights.

Btw: I don't think it has something to do with competition. As posted before, it is a IATA rule.

Whilst I cannot provide a detailed history of events relating to the
establishment of a piece and a weight system I can advise that these have
come about over a period of time as a result of legislation by the United
States and Canadian governments. The result of this legislation was that
generally speaking for travel to/from North America a piece system is
allowed.. Generally speaking, the rest of the world uses a weight system.

Now, why don't you have the same baggage allowance on low cost carriers? (e.g. on FR it is only 15kg and zero tolerance). Quite simply, because most low cost carriers are not active IATA members and can thus establish their own rules...