1. As a primary workout - I have done 20x 300m hills during xc season before. I believe the general idea was have something long enough that it had a significant aerobic/strength component while still touching some pretty decent speed for xc season. Personally, I'm actually not a huge fan of this approach. I think a long tempo or fartlek over a hilly route is a more beneficial approach for races of this distance because of the work/rest ratio in an interval style hill workout. However, people much smarter than I like the hill workout so there is that. For track I would typically do less reps but a bit faster. These workouts would take the place of an interval workout on the track. I think the benefit largely has to do with working on running economy and decreasing the stress on your body.
2. Supplemental to a workout - I'm a big fan of doing some quicker stuff at the end of a longer tempo or fartlek. I think it trains the body and mind to close races hard and well. It always gave me the confidence that no matter how bad I feel, I have a good last 200-400 in me. It also helps work on changing gears which is especially valuable in close and/or tactical races. Hills are a good way to do this, and I think the general idea behind hills as opposed to flat strides has to do with stress on the body. You should be able to get the same benefit as a flat 100 without putting the same strain on your ligaments etc.
3. In place of strides - Once again, I think the main two reasons cited for this is reducing the strain on your body and improving running economy. Personally, I like mixing up how I do my strides anyway just so I'm not going through the exact same stimulus twice a week. I'm not smart enough to tell you exactly why, but I've seen a bigger benefit when I change up what I do for supplemental speedwork. So a typical rotation, in a perfect world, might look something like this:
8x 100-150m hills
8x 30 on, 60 off in the last 2 miles of a run
8x 100m strides
2x 90, 60, 30 on, equal off in the last 2 miles of a run.
3 sets of turf strides (2x length, 2x width, 2x diagonal in each set. Millersville's IM fields are great for this)
8x 200 on, 200 off
4-5x 300 on, 500 off
2-4x Pre 800's (alternating 200 splits of 30,40,30,40)
So this would get me through 8 weeks assuming I follow my perfect world schedule of doing these M-Th and have access to a track or hill every time I need one. They're all very similar stimuli, and I think provide a very similar benefit, but changing things up like this seems to keep me from just getting really good at 100 meter hills and I like variety anyway.