chriton227
Explorer
You should carefully construct the creature to challenge the party you are running.
I agree to an extent, but you have to be careful not to do this too much unless you want an adversarial relationship with frustrated players. When you tailor encounters to counter the party's abilities, you risk negating the value of their choices. If a PC creates an archer and the DM makes sure every enemy can quickly close to melee range to ruin their ability to use their bow, they will feel like they should have created a melee fighter instead, but if they had created a melee fighter the DM would instead be throwing fast ranged attackers or flyers at them that negates their ability to attack in melee. So regardless what the PC's choice was, the DM is forcing it to be the wrong choice. If you look at it as rock-paper-scissors, the DM always gets to see what the players threw first, so they can always negate it and "win" if they choose.
I've played with DMs who have taken this too far, even to the point where a player who lost a PC to one of many traps encountered rolled a new character as a rogue, and from that point on there were no more locks, no traps, and the majority of the enemies were immune to sneak attacks, because the DM wanted to "challenge" the player. When a player selects a class or ability or spell, the subtext of what they are saying is "I think this will be fun to use", and if you choose to overwhelmingly negate that you are telling them you value "challenge" more than their enjoyment of the game.