I disagree with everyone who's hating on the affinity and DIK score concepts.
Ever been turned down by a girl? Ever had your heart broken and not known what it was you did wrong? When that happens, you can't go open the girls head, poke around and find out why (unless you're a serial killer, but it still doesn't help much - maybe makes you feel a bit better but that's all). You could ask her but you're not going to get a lot of useful feedback (plus it comes across pretty pathetic).
In real life girls react to guys based on heaps of signals, actions, words etc. You may say all the right things but the girl you're chatting up doesn't like the way you snort when you laugh, or she heard from her friend that you get into fights, or that you don't pay for the girl's meal and so on.
You may not agree with why the girl comes to the conclusion to reject you, but you don't get to tell her she's wrong (you can try, pretty sure it's not going to advance your cause - you will most likely become another story in her repertoire of guys who handled rejection weirdly).
The problem here is some people think they should be getting access to all the game's content in one playthrough, and when they don't they blame the game for seemingly arbitrary decisions. Girls make arbitrary decisions all the fucking time (most people do to be fair).
This is just a computer program, using a number of variables to attempt to simulate life interactions, as it stands, you still have more control over this game than you do in real life. It could be worse, there could be random number generators involved in each response - you think you're about to score with Quinn but it turns out she's on the rag and doesn't want to do it and so on.
I think the system works, and your style of playthrough impacts your experiences.