Plenty of bots learn as they go. Some simpler ones might learn the layout of a level (counterstrike) or a room (roomba) through trial and error. You can imagine it would not be that hard to create a simple database that maps the geometry of such spaces to a reasonable resolution. Similarly, you could create a database of tactics in Starcraft for openings to easily identify the most effective ones all else being equal. Unfortunately, it could be difficult in a Player vs AI situation to gain enough high-quality data. Some AI's make use of AI vs. AI gaming to analyze effectiveness of different strategies, but obviously that will just make the AI's next build neccessarily better at playing against their current version. Obviously that's a big challenge.
Another huge problem is deciding how much an AI should imitate human behavior. In chess, it only matters that an AI wins. However, in video games, AI's are often ridiculed for not behaving like a real person: they use information not available to players, they violate the limits of what is possible for a human player to do, or even alter gameplay such that their units attack faster or are invincible to certain attacks. The programmers write the AI this way because they may have serious flaws or holes in their logic. AI's are almost always really lopsided in their competence at various aspects of play. Programmers often must max out an AI's strengths to compensate or the pathetic maximum of its weaknesses. Using a learning, dynamic AI would not neccessarily solve this problem. A simple example: in a fighting game like Soul Calibur, you could make the AI aggressively rush the human player at the beginning of the match. The second round, if this works, you could try it again. However, it turned out poorly, you could have the AI take a defensive stance next time around. This is a simple form of learning, but would be quickly obvious to the human player, who could then easily take advantage. A dynamic AI may be less predictable, but probably still somewhat predictable. It may not succumb to the same attack everytime, only to succumb too easily to various attacks. Also, you can add in some randomness to decrease predictability, but the AI will then be less productive.