The main reason is the tests are usually written for a certain code cycle and they usually have a number of questions that reflect the changes. The people influencing the test sell the books. (NFPA et al)
When I did my first round of inspector tests, I was studying the 93, then I found out IAEI was still testing on the 90. I had to go, "unlearn" some things.
I still ended passing the 2A, 2B and 2C without a lot of trouble.