Well the biggest problem is that Shakespeare is meant to be watched, not read. But in English lessons I'm aware of it tends to be read. So no wonder children go off it. Old language in a difficult style, with all sorts of little-used words. Hard to work out what's going on, so you should watch Lawrence Olivier playing the roles to understand the play. Then reading it becomes more of a pleasure.