What does “10-4 ” mean?
Truckers use CB radios to talk to each other during long hauls on the interstate highway system of the United States. Sometimes the chatter is just to pass the time; other times, helpful information is passed between truckers. Truckers have shorthand ways of speaking to each other over the radio, and "10-4" means "Yes, I acknowledge," similar to the way pilots and air traffic controllers use the term "Roger," and military radio operators use "Copy."
In the mid-1970's, trucker/CB lingo made its way into popular culture, spurred in part by the movie Smokey and the Bandit, and the C.W. McCall radio hit Convoy (which, if you want to hear a whole truckload of CB slang, you can listen to the song on YouTube1).
Even when it was in its heyday, most non-truckers knew very few of the "Ten Codes" (this website lists scores of them), but they did know 10-4, and they also knew the term "Breaker" (which was used to initiate a conversation one of the CB's 40 channels).
As for the Ten Codes, and why 10-10 means, "I'm done," and 10-4 means "I heard you," rather than the other way around, I'm not sure there's any particular reason. Maybe there is a reason, but that reason is closely guarded 10-35 (confidential information).
According to Wikipedia, CB is still in use today:
CB has lost much of its original appeal due to development of mobile phones, the internet and the Family Radio Service. In addition, CB may have become a victim of its own popularity; with millions of users on a finite number of frequencies during the mid-to-late 1970s and early 1980s, channels often were noisy and communication difficult. This caused a waning of interest among hobbyists.
CB radio is still used by truck drivers, and remains an effective means of obtaining information about road construction, accidents and police radar traps.
1To anyone who listened to the song: by no means do I condone crashing police barricades that are reinforced with National Guard troops at 98 MPH. In other words, don't try this near home.
The 10codes date back well before CB radio to the first use of mobile police radio in the 1930s. The 10 part doesn't mean anything and is simply there because it took a fraction of a second for the early radios to wake-up and so the first word of a message might be lost.
As to why it was ten rather than any other random number - I don't know
http://www.911dispatch.com/info/tencode.html
10-0 use caution
10-1 cannot receive you
10-2 receive you OK
10-3 stop transmitting
10-4 OK, I acknowledge, etc.
10-5 relay this transmission
10-6 responding from a distance
10-7 out of service
10-8 available for incidents
10-9 repeat your transmission
10-10 off-duty
10-11 animal incident
10-12 stand-by, hold transmission
10-13 weather/road report
10-14 prowler report
10-15 enroute with arrest
10-16 domestic problem
10-17 out-of-service for fuel
10-18 out-of-service for repairs
10-19 returning to -----
10-20 what's your location? my location is --
10-21 telephone ----
10-22 cancel assignment, disregard
10-23 stand-by, hold transmission
10-24 assignment completed
10-25 meet the person
10-26 person clear of warrants
10-27 driver's license info
10-28 vehicle registration info
10-29 warrant check for person
10-30 improper radio use
10-31 crime in progress
10-32 subject with gun
10-33 alarm sounding, emergency
10-34 riot
10-35 what is time?, major crime alert
10-36 can you copy confidential info?
10-37 suspicious vehicle
10-38 stop suspicious vehicle
10-39 urgent--use lights and siren
10-40 silent response
10-41 beginning tour of duty
10-42 welfare check, ending tour of duty
10-43 information
10-44 permission to leave for
10-45 dead animal at ---
10-46 assist motorist
10-47 emergency road repair
10-48 traffic signal repair
10-49 traffic light out at ---
10-50 accident
10-51 tow truck needed
10-52 ambulance needed
10-53 road blocked at ---
10-54 animals on highway
10-55 security check
10-57 hit-and-run accident
10-58 direct traffic
10-59 escort
10-60 squad in vicinity, lock-out
10-61 personnel in area
10-62 reply to message
10-63 clear to copy info?
10-64 message for delivery
10-65 net message assignment
10-66 net message cancellation
10-67 person calling for help
10-68 dispatch message
10-69 message received
10-70 prowler, fire alarm
10-71 gun involved, advise nature of fire
10-72 shooting, fire progress report
10-73 smoke report
10-74 negative
10-75 in contact with ---
10-76 enroute
10-77 ETA
10-78 need assistance
10-79 bomb threat, coroner's case
10-80 bomb has exploded
10-81 Breathalyzer report
10-82 reserve lodging
10-83 work school crossing at
10-84 if meeting ---, advise ETA
10-85 delay due to ---
10-86 officer on-duty
10-87 pickup
10-88 present phone number of ---
10-89 bomb threat
10-90 bank alarm at ---
10-91 pick up prisoner
10-92 improperly parked vehicle
10-93 blockage
10-94 drag racing
10-95 prisoner/subject in custody
10-96 psych patient
10-97 check signal
10-98 prison/jail break
10-99 wanted/stolen record
10-4 simply means 'yes, I understand your message' in general CB (Citizen's Band) slang. Have a look at the Wikipedia page of CB slang for more.
A few of the more common CB slang phrases, including this one, made the transition into everyday speech, both in the US and further afield.