To me personally, it isn't worth it. The hotels are all easily $200+ a night more than the hotels across the street. The only upgrade that you get by staying onsite is the extra hour. An extra hour in the park isn't worth $200/a night or more, in my opinion. The hotels across the street are, in many cases, closer than the actual onsite hotels.
If you are trying to pick a hotel, try to choose one on Harbor across from
Disneyland. This includes Fairfield, Camelot Inn, Tropicana Inn, Carousel Inn, Best Western Park Place Inn, Desert Inn and Suites, Best Western Anaheim Inn, Park View Inn, Candy Cane Inn, Courtyard by Marriott Theme Park, Desert Palms Hotel and Suites, and Del Sol Inn. There are a few others that are pretty close on Harbor that I'm just spacing out right now. Out of all of those, I would recommend Desert Inn or Camelot Inn. These two are no frills, but are clean, safe and are less of a walk than onsite hotels. Desert Palms is a pretty nice hotel that is just a little further away.
If I were you, I would take the savings by staying off-site and use it for restaurants inside the park, Mickey's Halloween party, souvenirs, etc.