Brian-san has already posted a perfect answer, but I'm just trying to explain in a different way. Hope this helps, too.
1) When you have adjectives(i or na)+nai, only "なくて" is correct, whatever it means.
この辞書は大きくなくて、高くない。
This dictionary is not big and not expensive.
安いワインを買いましたが、おいしくなくて捨てました。
I bought cheep wine, but the taste was not good, so I throw it away.
2) When you have noun+ja+nai, only "なくて" is correct, whatever it means.
あの人は彼氏じゃなくて、弟です。
That person is not my boyfriend, but my younger brother.
いい子じゃなくてごめんなさい。
Sorry for not being a good child.
3) When you have a verb+nai, use "なくて" for cause/reason, and use "ないで" for all others
顔を洗わないで学校へ行きました。
I went to school without washing my face.
そんなところに座っていないで、こっちに来れば?
Why don't you stop sitting there and come here(to join us)?
電車が来なくて遅刻しました。
I was late because the train did not come.
Of course there are situations that both なくて and ないで work.
君と会えないで残念だ。Not being able to meet you, I'm sorry. (It's more like situation.)
君と会えなくて残念だ。I'm sorry that I can't meet you.(It's more like reason.)
However, the story is different when other particles such as も or は follows て. Actually it's better to consider them as different grammar from simple ・・・て/なくて/ないで.
きらいなら,食べなくてもいいですよ。
(食べないでも is also ok.)
If you don't like it, you don't need to eat it.
きらいな食べ物も食べなくてはいけません。
You should eat foods that you don't like, too.
タバコが体に悪いのは知っていますが、吸わないではいられないんです。
I know smoking is not good for my health, but I just can't stop it.