I consider the following to be really bad reasons to use custom controls:
- You think they are cool, but the standard controls would do the job just fine.
- You want your program to have a different look—just for the sake of being different.
- You found a really cool ActiveX control on the Internet and want to use it in your program somehow.
Whenever I use a program with nonstandard controls used for one of these reasons, I find it's as if the program is shouting, "Hey look at me! I'm not normal! I want your attention!"