I often work with [lexer](http://en.wikipedia.org/wiki/Lexical_analysis)/[parsers](http://en.wikipedia.org/wiki/Parsing), as opposed to a parser combinator and see people who never took a class in parsing, ask about parsing binary data. Typically the data is not only binary but also context sensitive. This basically leads to having only one type of token, a token for byte. 

Can someone explain why parsing binary data with a lexer/parser is so wrong with enough clarity for a CS student who hasn't taken a parsing class, but with a footing on theory?