Hellfire's treatise on "cheating"
First, anyone who says a computer is "cheating" is insensed by results they did not like in the game. This is an immature response to basically not getting things your way. I'm sorry if this comes off nasty but its true. But its very important to say... why?
Computers and computer games are emotionless, they don't cheat!!!
Computer games are "designed." They are designed with discrete mathematical and logical properties. Either they do A or B, or they chose from a list of A thru Z. They are designed to provide a challenge to the person playing the game.
Sometimes those rules are complex. Civilization is an extremely complex game, despite the good efforts at Firaxis to make the over all gameplay simplified. However, the rules are possible to learn, and once you have a knowledge of at least some, if not most of the rules, things begin to make sense.
"Cheating" also implies gains that some how work out for the "cheater." Since a computer has nothing to gain by "cheating" then there must be something to gain for the programmers to gain by the application "cheating." There is nothing to be gained by developers by making a game "cheat" and the only true "cheat" would be if you were somehow investing money in games and the developers made you lose and this cost you money. This is utterly ludicrous since no current computer games involve this type of gambling. In fact game makers want to engage you to show the game has worth. Some people may smash on their keyboards in frustration, but for the most part most game players don't. Anger is more often the exception, not the rule, in game playing.
If you want to address something in a game you think is unfair, tackle the problem as a functional design or logical design issue, or even a bug, but not a "cheat." Everything that the programmers put in is deliberate functionality, including the so called "AI knows where all your units are" functionality. Its not a "cheat," its a feature, and its designed to make the game a little more challenging. If you disagree, say you disagree with the functionality and work to have it changed. This way you are speaking the language of the programmers. Saying a game is cheating makes it that much harder to try to address the issue.
Same goes for bugs. The only thing about bugs is that they weren't ment to go into the code, so the best thing is to try to address why the bug is there and see if it contradicts what the programmers intended, or, if the documentation is any good, see if it contradicts the documentation (don't do this for Civ3! The manual blows!).
Finally, just remember that you yourself have a huge "cheat" over any AI. As a human, you are far more creative than any other computer or game. That is proven by all the wealth of information and strategy given at this site. Do not discount your own ability to actually kick any computer's ass. Some games are designed by the programmers to be harder than other. Not everyone is very good at solving a Rubix Cube or a Chinese box, and if you aren't willing to invest the time, that's fine. No one will think you are a bad person. However, if you jump into a game, and in 5 minutes throw down your mouse and accuse the game of cheating, all you will have done is shown everyone your own maturity level, gained no sympathy, and you would have not solved your problem.