Demons can detect the player through walls and platforms. They have a higher vertical detection range than horizontal.
Once it detects the player, it will fly towards them then either uses its melee attack or shoot fireballs.
Demons are immune to burn damage over time. However, if they are damaged by other sources, it has a high chance of interruption.
Demons have less health than most enemies, but are dangerous if you're not able to ambush them. They are very mobile with fast attacks, so it's way better to kill them before they can react. While they can detect you from different platforms, their reaction time is fairly slow and should give you enough time to run up to them.
Ranged weapons are very effective against Demons as they can hit it out of its flight easily. If you don't have a ranged weapon, you will need either a shield to parry its fireballs or some kind of crowd control (Freeze/Stun/Root) or any sort of cooldown skill that can reach them and hit it out of its flight. Otherwise, they will be much harder to fight. Homunculus Rune can also be used to safely disable them and render one vulnerable.
When a Demon approaches you from below, there's a higher chance it will start with its melee attack. Also, it cannot fire at targets above it, forcing the Demon to move before it can do so.