To add on to Werrf's correct answer: This subtle nuance is reflected in many English sentences. For example, suppose you are at a party and offer someone a glass of wine. They respond:
I don't drink (alcohol).
The simple present refers to things that are general, natural, or habitual, so this expression means the person doesn't drink as a habit. We generally assume this is due to personal or religious reasons, rather than medical reasons, but we'd have to ask to know for sure.
In addition, it's natural to assume this is a relatively long-term habit, rather than something recently adopted. The following conversation would be odd, and possibly funny:
A: Hi, would you like a glass of wine?
B: Sorry, I don't drink.
A: I understand. When did you stop drinking?
Compare this with:
I can't drink (alcohol)
This reflects a general inability rather than a habitual practice, and also indicates a contrast with the person's desire -- they would really like to drink, but for some reason they're not allowed. Otherwise, if they didn't want to drink, they would say it the other way, "I don't drink".
In addition, it's likely to be a short-term rather than a long-term inability, but (depending on the context) it may be impolite to assume.
A: Hey, we're all going out after work to get a beer. Want to come?
B: Sorry, I can't drink.
A: Well, perhaps tomorrow then?
B: No, I mean I can't ever. I'm allergic.
A: Er ... sorry about that. You can come with us and order something else, if you want?