Its a location and AOS thing. Area codes help determine geographical / long distances charges (which usually apply to land lines since most wireless carriers offer free long distance). However some areas of the country are so densly populated that not 1 area code has enough prefixes to cover the population. So a mulit area code over lay is adapted to allow enough numbers to fit into that location.
Parts of the country, usually with very small populations have larger dialing areas with prefixes. Well heres an example. I am in Dallas, 214, 469 and 972 are all in Dallas county alone, not long distance but in order to make ANY call i have to put in all the digits. 972-xxx-xxxx Now in places like South Dakota, where the poplulation is much smaller, they have 1 area code. 665, and many prefixes, so 665-prefix-xxx can cover a greater distance. Originally area codes were used to define if a call was local or long distance. A lot of that has changed. So where your at might require you to call a person using 7 digits, where i am at requires me to use 10 digits. Your older phone might have been able to text locally with just 7, but i believe using 10 is more of a standard now.
Yeah not a great explination, but hope it helps.