At the end of the day, if you are heading in different directions then eventually its going to end in tears. Do you honestly see yourself with him in years to come? Does the thought make you happy or terrified for the things you wont get to do in life? Don't let this one decision dictate how you will lead your life, you can't let your judgement be clouded by his emotions.
If he hasnt changed so far, then will he ever change? I understand it will be hard for you, but if you have given up on the relationship, and truly think you are at a dead end, you must let him go, before both of you get even more hurt.
If however, you want to give it a try, if he makes you as happy as you make him, which is ofcourse most important...then give it another shot. Give him another chance to prove himself, maybe he is just under stress, maybe he knows he cant provide for you like he wants to? and it gets him down?
Either way, best of luck..