Offensivesecurity i have heard is a better course than CEH. I haven't done it (but want too) and heard it gives more hands on, real tools to use.
I have just completed my CEH and my opinion on it is that it is: Quantity versus Quality. There is a hundred and one different applications in the study material, and a lot of them do the same thing.
As for experience before studying, i would say you need a range of skills, from system and networking knowledge, as well as application and OS and some programming knowledge.
There is a lot to cover in CEH, so the wider the skill base the more you will take from the course.