Only the farther out hotels have shuttles, for the hotels close to DLR you can use the ART http://www.rideart.org/ it's not free, but it is only $3 per day, or you can get a 5 day pass for $12.
Very nearly all hotels have some sort of shuttle to Disneyland. Some Hotels are so close as to be a waste of time to board a shuttle. Also, if you have a stroller then you may want to avoid the shuttles. We were always being asked to break down and carry our child. Something that is a real hassle when you have a sleeping child.