DS is 19 months and in the last month or two started to understand about holding hands. He doesn't always WANT to... but in the required places (parking lot, crowded place, crossing street, etc.) it's non-negotiable. I usually just pick him up to cross a street, anyway, but if he's not cooperating I just scoop him up.
Slightly different subject, but related: we took a walk the other day, on the sidewalks near our house (I wasn't holding his hand usually) and he kept veering toward the street, wanting to explore there, and was getting really insistant and cranky about my not letting him. I decided to get down on his level (thank you, Supernanny!) and have a little chat with him about what a street is, and what a sidewalk is, and that cars go in the street, and showed him the yellow lines, etc., and that people walk on sidewalks. I pointed to the sidewalk and told him we need to stay on the path. He was much more cooperative after that! I don't know if he just hadn't really understood why he can't go in the street, or if he just appreciated the attention of the explanation. But it worked - at least for that walk!