The origins of the full English are more recent than you might expect.
Historically the classic English breakfast pairing was bacon and eggs. Bacon was the staple meat for hundreds of years, and eggs were available in most peasant homes each morning. As late as the 1950s, an “English breakfast” was shorthand for bacon and eggs.
Seemingly beginning around 1915, as wartime economy and rationing began to bite, the cold remains of the previous evening meal began to be added to bacon and eggs. As bacon and eggs became scarcer (and more expensive), the additions of these items bulked out the meal and prevented waste. Fried bread and potatoes were popular starchy additions. Sausages were not subject to rationing, and began to be used as a bacon substitute.
The earliest reference I can find to the phrase “full English breakfast” is in a 1956 edition of The Guardian. It’s probably no coincidence that this coincided with the end of rationing.
A 1978 edition of The Globe and Mail of Canada lists the meal as comprising “eggs and bacon, tomatoes, sausages, kippers and heaven knows what else”. It may be possible that the phrase is a foreign coinage: why would the English refer to their own breakfast as “English”? Similarly to how the Scottish never refer to their whisky as “Scotch”. The need to differentiate your native product only occurs in different countries from your own.
The phrase was first shortened to “full English” (minus breakfast) in the mid-1990s.
Today, a full English comprises of, more or less, sausage, bacon, eggs, some starch such as fried bread, toast, hash browns or sauté potatoes, and some vegetables such as tomatoes, mushrooms and baked beans. Black pudding is popular. Regional variations include white pudding and oatcakes.