I usually tell people to use official MySQL builds from MySQL, or from their operating system distribution if they don’t want to do that. (This assumes that there is no compelling reason to use third-party builds such as Percona’s.) Sometimes, though, people want to create their own builds, or use a build that is “optimized” for whatever reason.
This is usually a bad idea. Most “optimized” builds really aren’t. One of the common problems I see is that a lot of them, including sometimes those shipped with popular Linux distributions, are stripped. That is, the binaries have no symbols. That means you can’t profile them with oprofile, you can’t analyze waits with PMP, you can’t use GDB, you can’t figure out core dumps, and so on. Well, actually you can do some of these things, but only with some effort.
And that’s why I tell people they generally should not try to “optimize” their server by custom compiling it. The top-tier users have reason to do so. Most users are better off putting their effort into measuring what’s happening, and a stripped build only makes that harder to do. Besides, it’s far too easy to subtly mess up a MySQL build and really end up with a problem.