actually if i want to learn a piece, i'll sightread through it a couple of times first (poorly when difficult), if i just can't, i'll "temporarily" give up, put it aside. and usually, when the time comes, suddenly, <ding>, it's learned.
i always give up (there must be a better word for this, give up is not quite how i want it to sound) several times before i can learn a piece. but the key is, no matter how difficult the piece may be, do get through every single note in the piece at least a couple of times, no matter how slow, how many mistakes, then you can put it aside. the next thing, listen to the recording, or watch someone play (this helps the most), then it'll come to you one day... may be days, weeks, months, but it will...