Reasons to not hire someone:
They don't have the required job experience, education or credentials
They were fired from there last job.
They are a "job hopper", meaning they don't stay w/any employer too long.
Speaks unprofessionally, this is also relative to the position interviewing for.
There resume doesn't match there application.
Can't answer simple questions.
Dressed unprofessionally or unprofessional appearance.
Sometimes it can be something as simple as there was something weird about the person, something off - it doesn't happen too often, but when you pass on those people eventually you find out why.
Criminal Background check has convictions on it, this too is relative to the job or company you are looking to work for so sometimes things can be overlooked or if it's been along time since a conviction, it will not be considered as relative information - depending on that conviction.
Some companies do credit checks, based on that they may not hire you - I don't do these I find the discriminatory and bias.
Admit to having poor attendance or being late for work w/past employers.
Fail a drug test.
Don't seem that interested in the job.
Can't work hours required.
The person won't be a good fit w/the department or staff.
Late for interview.
Can't follow instructions.
Wants more money than the job pays.
Bad reference checks.
There was a better or more qualified candidate than you.
Basically when you interview a person you will look to see if they can preform the job duties, meet educational, credential, or work experience if the job requires it, commit to scheduling, work as a team player, communicate effectively, and can abide by company rules, would be a good fit for the organization - if you can meet all of those based on the interviewers assessment of you will more than likely get hired.
Not asking questions in an interview really is relative if you can do the job, some people may frown down on this, but most employers wouldn't hold this against you. Also a good interviewer will answer all your questions so you don't have to ask them. It is more common for an interviewee to ask questions when they are interviewing for higher or professional jobs, entry level is basic and there aren't much questions to ask.