The past few years of poker have seen a huge surge in the standard of play (online mostly, live poker is a long way behind in general). This has been a result of the growth in the game theoretic approach to play. The reality is that with good players tells aren't reliable. Actually, they're not that reliable even against some average players.
Poker appears to have a solution (there are certain proofs that Nash ranges exist for any HU situation). It's just like the Simpsons where Lisa plays Bart at rock, paper, scissors, knowing that Bart always chooses rock. She can make an exploitative play of always choosing paper. But she could also choose to play optimally by randomly choosing a throw each with a 1/3 probability, meaning that Bart can never latch on and learn to beat her (he could, at best, break even by employing the same counter strategy).
Poker works the same, just with orders of magnitude greater complexity. The player can raise, fold, call, with some optimal distribution for any situation. And there is no reason why a computer shouldn't be able to do that (and, in the long term, do it better than a human). For limit hold'em (where players can only bet a predetermined fixed amount) the game has been close to solved and computers can play very well.
The difficulty for no limit hold'em is not that computers can't bluff, betting without a hand is trivial, or that they can't read opponents, that's unnecessary, it's that the game tree gets very large, very quickly, and that multiple solutions exist for small changes.
One thing that gets discussed a lot in poker is "what should my pre-flop opening raise be?". It actually seems that it doesn't matter as much as we once thought. Not so long ago, people would raise to 3 big blinds and that was that. Now you see players online will raise to 3bb in some positions, 2.5bb in others, some other player will raise to 2.4bb. And none of them appear to be right or wrong. What changes is the range you can do it with (your "range" being the total combinations of starting cards you would play in this way). You can raise more hands with a smaller opening size, and fewer with a larger one (this being a function of hands that you can adequately defend for different opponent responses). And this means that a computer needs to be able to determine a proper pre-flop strategy for facing 2.1bb raises, 2.2bb raises, 2.3bb raises, and so on. And that's just pre-flop. Now consider how big the game tree becomes for flop bets, which are likely to have even more variation not just in bet sizing, but in equity changes for different board scenarios (AQ having reduced equity on a 45T flop, but T9 having gained equity).
Now, since we can come up with a lot of good maths to approximate proper frequencies for different scenarios, designing a computer that can respond with an approximation of optimal ranges and plays is entirely possible and, similar to a game like chess, doing it better than humans is just a matter of time. Solving the game and creating a perfect poker computer, however, is probably a long way away.
What does this mean for poker? Probably the same as chess. Live players will play for a long time to come, but when everybody is capable of running a poker engine that can beat the world's best human, playing online for money will be a thing of the past.