Personally in my experience office hours were not that helpful, I was working fulltime at a factory while I was attending university, I simply did not have time to hang around professors offices (My Manager allowed me time off to attend lectures but there was no allowance outside of that), if I needed to study for exams I'd have to take annual leave for example.
Email was single best method I had if I needed to ask professor anything, some professors would reply promptly and some would take weeks to answer an email.
Even if Students don't work fulltime many of them rely on part time jobs (at least here in Australia) - for example one of my housemates worked as a delivery driver for a freight company and another worked in a call center. I think sometimes the professors assume students have more time to spare in the middle of the day then they do.