What's the difference between "stay the night," "stay for the night" and "sleep over"? There's also "stay over".
This is subjective, but here's my take:
"Stay the night" is pretty generic. "Come visit me, if you can't find a hotel you can stay the night."
"Stay for the night" is more rare, and in my experience might be used to indicate that it's only going to last one night. "His girlfriend kicked him out and he showed up on my doorstep, so I let him stay for the night."
"Sleep over" is pretty rarely used among adults, and it would imply a sort of good clean fun. If a female friend invited me to "sleep over," I would assume that, first, we were going to hang out, maybe watch a movie or play games, but there would be nothing sexy involved.
There's another term I hear most often here in California, and that's "crash," as in "crash at your place" or "crash on your couch." This tends to imply a very informal arrangement, probably just a pillow, a couple of blankets, and the couch. If you say "He's been crashing at my place for a couple weeks," that would imply that he's staying with you, but he hasn't moved in and you expect that he'll be gone soon.