I find that oftentimes the reason I can't finish things is because I get discouraged when my expectations don't match up with my reality. I think that it is important to be realistic about how you set goals for yourself. For example, if you don't lose weight as quickly as you want to be, instead of wasting energy obsessing about why you aren't successful, try to think of alternate pathways. It's also possible that you might have ADHD and you naturally have poorer impulse control than the average person. In that case, your best option maybe to talk to a psychiatrist. Even if that isn't the case, talking to a qualified professional can really help.