Both Alexa and Compete have thin data and are not really accurate. You can use them to get rough indications on traffic and keywords, but don't take them literally. In many cases, I've found them to be way off the mark.
If you are looking for which is "better", I'd say compete.com since they at least try to clean their data and normalize to some sense of reality. Even then, their data is so thin that I'm very careful about using it. Alexa is mainly a sample based on their toolbar, and is skewed to the audience that uses it.
If you really want something better, use other tools that have more complete data. For keyword research, the deepest data right now is from Google's keyword tool.