Applying for a job is easy. Click the button, maybe a few more clicks to upload the resume, done. It's not unusual to get hundreds of applications for every position. If it takes only one minute to reply to each of them saying "actually our position for senior software developer requires someone who has already been employed as a software developer at least once" then that could be hours of work. Plus, about 90% of those resumes are so far off the job description that it's easy to think "these applicants didn't put any thought into spamming me with their resumes, I'm just deleting them."
Once you've had an interview, that's a different story. I'm committed to replying to everyone who interviews. But don't assume that reply will come within days of the interview. I am not really deciding yes/no on you at the interview. I am putting you in a ranked list, or no. When I'm done (which might be weeks) I will make an offer to #1. Only after #1 accepts will I send out "no thanks" to the rest. #1 might say "no thanks" so I will offer to #2 and only after #2 accepts can I send out the letters, and so on. Depending on how long you've been waiting for an answer, it could still be on its way.
Generally, the person trying to hire another team member is overworked and stressed. Some of them may get lazy and not bother replying to unsuccessful candidates. That is a flaw in them, not you. There is really no such thing as an interview so badly blown that you don't even get a rejection email. The only conclusions available to you when you haven't heard are
- "I might still be in the running" and
- "It's been so long I guess I didn't get it, and they aren't a very nicely behaved group of people."