Since you don't mention your elo rating, I would limit for entry level options:
For Chess engines, I suggest the Chessmaster for PC, has many personalities and can play with different styles/openings, so that adds variety (still can be very strong: >2600 elo in the strongest personalities).
On Android I have played lately this one: https://play.google.com/store/apps/details?id=uk.co.aifactory.chessfree, but there are many others.
Still no matter which engine I try, I feel for a given elo rating, a typical engine plays better tactically than a human of similar rating, but worst positionally/strategically than a human of similar rating.
Chess.com is good, also for email chess I like redhotpawn.com.
Finally, I would also suggest playing Chess solo!
UPDATE:
A couple of other Android apps (based on PC engines): Shredder & Chess Genius, they have tunnable difficulty and play more positional chess.