I am a big fan of staying on-site. There are several benefits, some of which are:
Free use of Disney's transportation system. I went on my first honeymoon back in 1993. We stayed at the Port Orleans French Quarter, parked our car when we got there, and never moved it again until we left except to ride into Orlando a few nights.
Disney has what the call "Extra Magic Hour". Each day, one of the park opens 1 hour earlier than the stated openning time only to Disney Resort guests.
You have the ability to charge almost anything to your room key/park pass. You don't have to carry as much cash and that's one less thing to keep up with/get wet in the parks. Also, you can purchase souveniers and have them sent back to your room without having to lug them around all day.
I'm sure there are more, but these were my big selling points. My fiancee and I are getting married next week at Disney and are staying at CBR. (Good Lord & Ivan willing.)
<Script language='Javascript'>var rndNum = Math.floor(Math.random() * 10000);eval("var CDTDate" + rndNum + " = 'September 15, 2004 3:00:00 PM EST';");document.writeln("<form name='CDTform" + rndNum + "' action='Javascript:void(0);'>");document.writeln('<font size=2 color=darkblue>Countdown to married life............again.

</font><br>');document.writeln("<input type=text value='' size=40 name='WrittenByJamesMVenglarikII'>");document.writeln("</form>");if (theFunction) theFunction += "var d = new Date();";else var theFunction = "var d = new Date();";theFunction += "var c = new Date('" + eval("CDTDate" + rndNum) + "');";theFunction += "var diff = (c - d)/1000;";theFunction += "var days = Math.floor(diff / 86400);";theFunction += "var rem = diff - (days * 86400);";theFunction += "var hours = Math.floor(rem / 3600);";theFunction += "rem = rem - (hours * 3600);";theFunction += "var minutes = Math.floor(rem / 60);";theFunction += "rem = rem - (minutes * 60);";theFunction += "var seconds = Math.floor(rem);";theFunction += "if ((days < 0) | (hours < 0) | (minutes < 0) | (seconds < 0)) ";theFunction += "var out = '';";theFunction += "else ";theFunction += "var out = ' ' + days + ' days ' + hours + ' hrs. ' + minutes + ' mins. ' + seconds + ' secs.';";theFunction += "document.forms.CDTform" + rndNum + ".elements.WrittenByJamesMVenglarikII.value = out;";setInterval(theFunction, 1000);</Script>