I feel like a bit of an odd duck in this topic, because I enjoy and value a lot of the interview process. I've had many interviews, and all but two have been greater than or equal to 4 hours. I enjoy whiteboarding, giving presentations, algorithmic analysis, puzzle problems. I think a lot of people complain in this space, because they don't think to practice them. Interviewing for computer science is a public game, there are so many blogs where people describe their interview process that you should be able to prepare for nearly any interview.
I don't believe that all of this is necessarily applicable to a one and a half hour interview.
As far as programming ability, I think that if your company does any pair programming then this is a good exercise during the interview. I interviewed with a company where I was asked to use a computer without internet connection and solve the problem. The problem the script was vague, and my pair was required to be my research arm.
Regardless of if you are doing pairs programming. If you ask a scenario question and you are looking for a specific algorithm, data structure, or solution, this is okay. You are however strongly suggested to stop them before they waste your entire shared time and lead them down the correct path. With obvious hints. Requiring your candidate to discover that you're looking for a breadth first search when you ask them to implement a text based adventure game, doesn't make sense.
I believe that soft topics have become undervalued. Most the time a soft topics interview is done by a manager or an HR person that you're likely not to work with. My best soft topics interview was done with a panel ranging from developer through HR. They asked me about instances of conflict resolution and non conflict resolution that I had experienced. Having the panel meant that many people, caught phrases that I used and asked me in Greater detail that I think would not have happened normally.
It's also important to know the limits of somebody's expertise. There are a lot of topics that your candidit just won't know. But this information is mostly represented by what is missing from the resume. You can ask ask for anything that is missing from the resume, just expect the answer no. For topics they do list on the resume, have somebody who understands that topic discuss it with them. Either the interviewer should stump the candidate, or the other way around. This helps you understand how the interviewer handles somebody else's knowledge gaps, or their own. You can also accomplish this by asking them to give a presentation on the topic of their choice with open invitation to your company. This however can be very time expensive.
I had a company recently asked me do I know how to use an advanced IDE, or terminal IDE. Although my answers were yes, I feel that I miss understood their goals. What they were more concerned about, was whether I knew how to set up my IDE for a large , existing, code base. I think that this is an important skill to have, and I think that the question can be made more clear.