It's very hard to manage recruitment when you recruit direct, not everybody has a dedicated HR department, each job add gets 100s of replies, and sometimes you really do have other things to do. Some bosses are not too keen on HR handling their recruitment.
I have applied for jobs myself, I really do understand, but there are so many phone calls I can take to say "yes, I do have your applications, thanks, I'll let you know". Calling me won't give anyone any bonus point.
If the bosses take forever to make a decision at least at the first stage, it would be really embarrassing to contact someone 2 months later, saying "thanks for your application, but no thanks". Sometimes it does take that long!
The easiest and least painful way is the standard "thank you, if you don't hear from us within xxx days, you have been unsuccessful".
You might also not be considered for a first round of interview, but if the candidates met face to face end up being awful, you might be contacted later on. Having rejected your application immediately would block that.
Once someone has been interviewed, it is really rude not to update them however. Giving you the exact reasons is impossible, it's such a legal minefield that it is safer to keep quiet. At the end of the day, you do have to get on with the people you work. If you don't like somebody's face, you won't tell him, but you won't employ him/her either. Would you?