Other people have done all the math-y specifications, and have done so spectactularly. From reading the comments, it seems as if the "why we have to carry exceeds over" hasn't been received by everyone yet. Let me try to explain that with an "analogy" (it's not really an analogy, but.. let's just go with it):
I assume you are familiar with the binary representation (or base-2).
In all numbersystems, there is a highest number any single-digit representation can contain. In base-2, that number is 1. In base-10, that number is 9.
This means that in base-2, it's not possible to represent the number 2 like 2 or 02 -- it has to be 10, because the value 2 is too high to be represented in the first single-digit position. Ergo, you must carry the exceed over to the next position.
Another way of looking at this is, again using base-2, each single-digit representation -- each position -- is a counting of how many of its corresponding values the number should specify, and each position can only correspond to one value. Let's take the base-2 number 10 and start reading from the right:
1st position: 0 -- how many ONEs do we have
2nd position: 1 -- how many TWOs do we have
Which of course corresponds to the number 2 in base-10.
Another number, 1011101 and its corresponding base-10 values:
1st position: 1 -- number of ONEs
2nd position: 0 -- number of TWOs
3rd position: 1 -- number of FOURs
4th position: 1 -- number of EIGHTs
5th position: 1 -- number of SIXTEENs
6th position: 0 -- number of THIRTYTWOs
7th position: 1 -- number of SIXTYFOURs
Counting it all up -- I don't speak latex, so I'm sorry for the formatting -- it becomes 64*1 + 32*0 + 16*1 + 8*1 + 4*1 + 2*0 + 1*1 = 93.
Carrying this logic over to base-10, where each position can hold {0, 9} and naturally cannot be double-digit:
1st position: number of ONEs
2nd position: number of TENs
3rd position: number of HUNDREDs
...
nth position: number of 10^(n-1)s
If we have the addition 8 + 4 = 12, and we weren't able to carry exceeds, the first position on the right-hand side would contain the double-digit number 12 (and the second position would contain 0), which is illegal. The first position can only contain the number of ones, and it is impossible in this representation to have more than nine ones. The moment you get 10 ONEs, you don't actually have 10 ONEs -- you have one TEN.
Thusly, we either carry the 1 (meaning one TEN in this example) over to the next position where it belongs (with the rest of the TENs), leaving 2 in the position for ONEs, giving us the number 1*10 + 2*1 = 12 -- or the numbersystem breaks down.
In the everyday, this representation is still used explicitly to some extent:
"One-thousand two-hundred" = 1200:
1st position: 0 -- number of ONEs
2nd position: 0 -- number of TENs
3rd position: 2 -- number of HUNDREDs
4th position: 1 -- number of THOUSANDs
Finally, imagine if you weren't able to carry exceeds: you have literally no way of knowing what any number you're presented with means. The number 1200 could mean "one-thousand two-hundred" or it could mean "one-thousand and twenty", or the number 10200 could mean "one-thousand two-hundred" or "ten-thousand twenty" or "one-thousand twenty", depending on how you align the addition.
Re: myself earlier, the numbersystem is 100% useless if you do not carry.