This is my thought...

Desmond can time travel, and he change people's fate at a temporary fate, but it WILL come.

I believe people die when they overcome something(s) Examples...

Boone-He got over his sister and gained self-confidence.
Eko-He realized a lot of his acts were not entirely wrong.
Shannon-She started to love others, and receive love in return.
Charlie-No more drug addiction and he starts to regain faith.
Ana Lucia-She had an open option to kill Henry/Ben like she's done in the past, but decides no too.
Libby-Don't know enough about her.

Just me, though.