Hi Naa,
I think the problem is that many parents don't realize that most kids are not ready to be "fully" trained until at least 3 years old. I didn't realize this myself until my daughter, who is now 5. She didn't "pee train" until 3 and "poop train" until 4, but once she did it (without my forcing or nagging) she was done! No pull-ups, no accidents and through-the-night dryness...instantly. Because I did not try to force the issue and let her go at her own speed, she became a pro from Day One!
I only wish I had known this with my son (who is almost 18). With him, I DID force the issue and he was trained at 2. However, he had many problems with accidents and bed-wetting until he was 8! I know now that this was most likely due to his not being ready (but only doing it because I forced him to), along with the anxiety it caused him.
So, my advice would be to be patient with your son and let him go at his own pace. It may be inconvenient for YOU, but it will be much better for HIM in the long-run!
Good luck!
R.