Obviously one is better than the other and AlphaZero uses machine learning and all, but what is the real reason for their different style of play? Given a position, both evaluate the next best move but can AlphaZero, being an AI, be mischievous and try to bluff Stockfish or something like that?
Chess engines consist of two prongs of code: search and eval. Search is the algorithm that tells the engine which moves to look at, "searching" through the game tree to find the most promising continuation. Eval is the code that says, given this position and without making any moves, how good is this position for us?
Stockfish uses Alpha-Beta pruning for search, and a handwritten evaluation function for eval. The Alpha-Beta pruning function involves lots of tricks to prune off unnecessary branches and includes a lot of human knowledge as well, e.g. "if the eval says our position is bad, our best chance is a direct attack on opponent's king, so search moves that give check more thoroughly". The handwritten evaluation function encompasses human knowledge such as "rooks are better on open files".
AlphaZero uses Monte Carlo Tree Search for search, which is fundamentally different from Alpha-Beta, and a NN evaluation function. In other words every time AlphaZero searches a position, it queries its NN for an evaluation of it. Both of these are different from Stockfish's approach, and not necessarily better.
The different playstyles come from the fact that their search & eval functions are different. Presumably NNs dislike cramped positions, for example. As for bluffing, it doesn't work against engines. They just keep looking for the best moves.