We usually refer 1 byte as 8 bits because of historical reasons, but this isn't the only scenario.
- We do not define byte as 8 bits, we say that 1 byte is 8 bit, because this is the most common usage.
- Actually we do use kilobit (or kibibit) etc, for example in telecommunications networks. We use that unit system that fits better to the design.
- Yes, it's much easier to handle data in 8 bit blocks.
- No, 1 byte can be 5, 7 or 9 bits too. It depends on the design again.
A byte can be a unit for data and a datatype too. Generally we define byte as series of bits. It depends on the design and implementation if a byte is 8 bit or more/less.
For example the PDP-10 had a 32 bit architecture that used 9 bit sized bytes.
Actually when byte was "invented" it didn't even consisted from 8 bit. It was specifed as a data unit with values between 1 and 6, because the I/O devices in those times used 6 bit packages in transmission.
Because the definition of byte can be ambiguous we use octet that is by definition "a series of 8 bit".
The first use of byte as a term was in 1956 by Werner Buchholz during the design of the IBM 7030 Stretch. As I said before, it consisted from 6 bits, but at the end of the year they expanded it to 8 bit.
A bit only represent 2 state, if we need more, we need more bits, consequently we need to group bits some way. Thats why we have the term word.
For example we can represent the 10 number of our decimal numeral system in 4 bits:
2^4 = 16 state > 10 number.
When we first used digital transmission we did it for transfering texts. A text is made from characters, so each character has its own bit sequence to identify it. Because there are lots of languages and characters (not only letters) the need for a good character encoding system was always on topic, and as time passed better and better systems were developed to represent as much characters of the World as effectively possible. But ofcourse it started in little.
In 6 bit we can represent the most important characters of the English language.
2^6 = 64 character
These representations were used by the first computers. The set was expanded to 7 bits and the famous ASCII character-encoding scheme born.
2^7 = 128 character
With these representations, characters became the main data unit of transmission.
The EBCDIC character encoding by IBM used 8 bit. However IBM was one of the main supporters of ASCII, they didn't had time to finish their ASCII compatible periferies so they shipped their System/360 computer with their EBCDIC, baceuse this was the only way to make it to deadline. System/360 became popular so EBCDIC and 8 bit as data unit too.
In the 1970s 8-bit microprocessors that had 8 bit sized registers appeard in the market and became popular so they popularized this storage size.
Another important argument by 8 bit that 8 = 2^3 so it is a base-2 number. This makes it easy to convert to binary or to also popular hexadecimal numbers. There are loads of standars, techniques, systems that are based on packing bits into 8 or 16 size groups.
Also it is very practical to group data into bytes. For example if we have 32 bits and want to adress our memory, we can adress 8 times more memory if we adress bytes instead of each bit.
32 bit => 2^32 = 4294967296 adress.
Adressing bits: 1 bit/adress => 4294967296 bit = 512 MiB
Adressing bytes: 1 byte/adress = 8 bit/adress => 34359738368 bit = 4 GiB
We dont want to adress every piece of bit, but we can still get a specified bit from an adressed byte with shift operations.
We don't always use byte as a base unit. In telecommunications we use bit/second to measure the number of bits that are conveyed or processed per unit of time. Of course, for bigger numbers they use kilobit, megabit, gigabit, etc, so these units has their own fields.
This shows that each system has its own space, and we use that one that fits better to the project we work on.