When most people say 'nice guy' they mean guys who are way too scared to do anything about it. A genuinely nice guy, who is also confident and can defend themselves, will not finish last. But most guys who label themselves as a 'nice guy' are just people who are too scared to actually ask somebody out. A man who can stick up for himself is going to be a hell of a lot more attractive! Evolution means someone who wants to start a family or anything, are going to want someone who can defend a family and actually stick up for them. They are not scared to actually ask someone out, is it really a shock they date more? Just like with a girl, who are you going to notice more and therefore be more attracted to? A confident girl who makes herself known or a shy girl who you don't even remember the name of? You can be a nice person and date somebody but if you're staying with the 'nice guy' image, you're not going to get anywhere soon.
Nice guys do always finish last, but only to get the right and perfect girl. Don't act surprised it's true! Be the right person for that right gal, she'll come sooner or later, no matter how tiring it can be. If she can respect for who you are, you won.
No they don't finish last. What happens is that girls get so attracted to looks they don't focus on personality. I'm not what would be considered attractive to the common people, but my gf would be considered "way out of my league." I'm a really nice guy though, and I was friends with her for 3 yrs before my 3 yrs dating her. So in my case nice guys do not finish last.