Board Thread:Naruto Discussions/@comment-5711593-20140527091937/@comment-945885-20140624193939

The two words are almost completely interchangeable, one is a kun'yomi pronunciation, the other is an on'yomi pronunciation. Both are derived from 忍びの者 (shinobi no mono, "one who endures") which can be shortned to either 忍び (shinobi) or 忍者 (ninja); 忍 can be pronounced either shino (kun'yomi) or nin (on'yomi) and 者 can be pronounced either mono (kun'yomi) or ja (on'yomi).

The only real difference is that shinobi was used historically, while ninja is a more modern colloquialism that caught on thanks to pop culture.