Giving bonuses isn't cheating in itself. In many games and sports, handicaps are meant to allow a challenge between players of different levels - that's the same situation here.
Cheating is when the AI does things it's not supposed to do according to game rules, like popping units out of nowhere, which happened in the previous versions of civilization.
Handicaps and bonuses are here because, whatever the level of the game, the AI is the same, it tries its best to win. They are here to simulate a progress parallel to yours, from newbie to expert.
There are things that the civ AI - and, for what I know, any AI - just can't do. They can't simulate all the capacities that the human brain shows, like intuition (relevant decisions on incomplete datas), sorting data according to its relevance (which is tied to the ability to forget), improvising (taking a decision out of a set pattern) learning (creating new patterns). The only capacities it can duplicate are computing and memorizing, things that can be reduced to numbers.
In other words, you can predict the AI's behaviour, because it's static, you can even duplicate it. But the AI can't predict yours, because it's dynamic, and supported by capacities the AI can't understand.
Remember also that there is another thing you can do, but the AI can't : deciding whether you can play the game, or not. You can reload, you can quit, you can regenerate the map.
Maybe one day, computers will be able to do all the things I described higher. It means they will be able to learn, improve, and adapt their behaviour to yours : I don't know if the game will still be fun.