Most streets are named after notable persons from history, preferrably dead ones. One exception was Maršal Tito, who had the main street in practically every place.
Street names have changed over time; some streets were renamed several times, specially in the north, where streets had German names (well, the oldest names systematically archived), then Hungarian names, then triple names (Hungarian, Serbian and German), then early XX century Serbian, then German names again (WWII), then were renamed back to what they were before the war, then got the names of the war heros, notable communists and people of art, and as the communist folklore had it, important dates. There were many places with streets named after 29th November or 27th March, though such names are mostly gone now, except Prvomajska (mayday street).
The house numbering scheme is fairly simple - see house numbers.
To differ from the US, the urban development is not in the hands of landowners and the real estate market. During the last four decades (or even earlier in some cases) the urban planning was done in most places, mostly respecting the interests of the people and the city as a whole. As an end result, there are few cul-de-sacs. They do appear where a new thoroughfare had to cut across smaller streets and having an intersection every 100m was off the board, or where there's any other kind of obstacle - railway, hill, river. Even in those cases, though, there's a street skirting that obstacle. Which means you can usually drive in the general direction of where you want to go and won't have to retrack for kilometers; you'll probably get there.