I'd think it's simply not knowing that there are easier ways of doing it. It is just not taught. Also, people learn about parsers in that really scary module about compilers and never give them a second thought afterwards. And anything else to do with strings is usually hopelessly complicated stuff involving indices into character arrays.
Then there's the "kudos" of writing write-only code. Even the writer doesn't understand it anymore, but nobody else knows that, so ...
I always found it a wee bit sad that Icon (
http://www.cs.arizona.edu/icon/) never really had much of an impact in the "let's take this string apart" problem domain. If I need something quick and dirty, it's my "secret" tool for "parsing" stuff quickly. String scanning is trivial.
Robby