Personally, I love long sessions but because I work full time and am trying to make more money playing poker I generally have only played 4 - 5 hour sessions on the weekdays.
Weekends, I like to come in when the first NL table is opening up. Around 10AM. I'll sit there in that chair until 4am or until the table breaks. It's a lot about discipline and self control. Granted you can sit there as long as you can mentally and physically take it. If you go grind out $1/$2 all day long and you have $1,500 in front of you when the rec players start coming in around 10pm, you instantly get a ton of respect when a new player joins the table.
You're massive chip stack will have an effect on other players psyche. They'll second guess themselves and fold thinking things like "He doesn't have that many chips because he's lucky, he obviously knows what he's doing." "I might have him beat but I don't want to risk it."
Bottom line, leave when you are ready. I can sit in these long long sessions because you can always stand up and go stretch your legs, have a cigarette, go eat some food, flirt with the cocktail waitresses (God I love them)
I personally play $1/$3 NL and I buy in full $300
I'll play really tight at the beginning and try to double my stack through a few fishies. So I'm sitting on $600.
I go take a break relax for a few and smile because I'm up $300.
Then I play with the $300 I made. And hopefully double that up. Rinse and Repeat.
For every $300 I make I only play with the newest $300 I won. and the more chips I have I gradually play more loose aggressive, the tight image from early benefits you in this way because people will remember when you check/raised with the nut flush and somehow convinced the other player you were on air and he called and donked his chips off to you with bottom 2 pair.
I'm not saying play Super Loose/Super Hyper-Aggro but build build build your stack throughout the day. And take breaks, maybe even take a nap at a slot machine (who cares?).
If I ever get to a point where I lose the newest $300 I made I'll take the rest and leave. These short 4 - 5 hour sessions I've been playing on weekdays I play a little differently. I'll start out loose aggressive, get paid off, and continue on the LAG style. Because I don't have all day to wait for AA KK QQ AK AQ so I play looser when I know I'm in for a short session. Usually just looking for a 2.5 buy-in profit at the least for a 4 - 5 hour session.
But to get back on track. Leave when you feel like it. If you start getting frustrated at other players, you're mad because someone sucked out on you, you're angry because you've see 59o 10 times in a row. Forget it, either take a break and let the chaos theory do its thing. Or just cash out if your steam doesn't go away.
Never play at a player you are tilting at, they wait you out or call you lightly. and you know just as well as they do, you're here for money. Trying to outplay someone because they pissed you off with almost guarantee you go busto within 2 hours.