Interface
For a Destruction UI The following things are important to track to optimally play your rotation:
Soul Shards - Every Warlock needs a Soul Shard Bar, or a similar alternative. This is especially important for Destruction as we have fragments to our Soul Shards making it hard to keep track of when your spenders are usable.
Immolate - A core debuff in your rotation, it is important to maintain in both ST and AoE especially as Hellcaller where it is replaced by Wither.
Fiendish Cruelty - Shadowburn is our strongest Soul Shard Spender, using procs of Fiendish Cruelty needs to happen quickly before you risk losing a proc.
Chaotic Inferno - Relatively minor to our overall damage, but it is nice to know when the next Incinerate can be cast on the move.
Malevolence - Specific for Hellcaller, it is important to cast as many Soul Shard Spenders as possible during Malevolence. Devil Fruit provides random procs of Malevolence, making it insufficient to just dump all Soul Shards after pressing Malevolence manually.
Diabolic Ritual - Knowing when your next Demonic Art becomes active is essential to planning your damage output, it allows us to improve our Soul Shard management, plan ahead if we want to hold Ruination for an add spawn, or just simply be ready to spend the proc fast if we are going for the highest possible ST DPS.

General UI
There are a few AddOns I recommend to improve your performance as a player and general quality of life.
AdvancedInterfaceOptions - Allows you to set up account-wide CVars.
BetterCooldownManager - Improves the customizability of the base Cooldown Manager and allows additional Item and Spell tracking.
Unhalted Unit Frames - A highly customizable Unit Frame AddOn. Personally I mainly use it for clear Boss frames to improve ease of multi-dotting.
BigWigs/Deadly Boss Mods - The most important part of your UI in all difficult content, there is nothing more crucial to your performance in WoW than knowing what happens next.
Plater/Platynator - Improved Nameplates. Platynator skins the base Blizzard Nameplates and has an easy to use config. Plater allows for high customizability, but it can be difficult to set up a personal profile.
TargetedSpells - Allows you to see spells targeting you. This is mainly useful for bolts, books, pistol shots and whatever else the mobs in M+ likes to throw at us.
BuffReminders - Includes Healthstone, Soulstone and Pet reminders alongside all raid buffs and consumables. It can also track Burning Rush!
MPlusTimer - An improved dungeon timer for M+.
Time Spiral Tracker - Not a mandatory AddOn, but it is nice to see a clear indicator when one of your Evokers grant you a free use of Demonic Circle: Teleport.
Macros
There are some useful macros for Destruction Warlocks, such as cursor location macros, mouseover macros and specifically for Warlock, Soulburn Macros.
Soulburn Macros
The following macros make it easier to use Soulburn properly. While there are cases where Soulburn is unnecessary to use in combination with the below spells, they appear so rarely that I believe it is worth it to always spend the Soul Shard anyway. The small damage loss is outweighed heavily by the amount of times Soulburn will save you!
Demonic Healthstone Macro
#showtooltip
/cast Soulburn
/use Demonic Healthstone
Demonic Gateway Macro
#showtooltip Demonic Gateway
/cast Soulburn
/cast [@cursor] Demonic Gateway
Drain Life Macro
#showtooltip Drain Life
/cast Soulburn
/cast Drain Life
Cursor Macros
Some useful macros for Destruction Warlocks are cursor location macros which cast the spell at the location your cursor is when you press the spell.
Summon Infernal Macro
#showtooltip
/cast [@cursor] Summon Infernal
Shadowfury Macro
#showtooltip
/cast [@cursor] Shadowfury
Cataclysm Cursor Macro
#showtooltip
/cast [@cursor] Cataclysm
Rain of Fire Cursor Macro
#showtooltip
/cast [@cursor] Rain of Fire
Mouseover Macros
These macros are useful when you want to keep hitting your main target, but have to use utility or Havoc on another.
Havoc Mouseover Macro
#showtooltip Havoc
/cast [mouseover,harm] Havoc; [harm] Havoc
Havoc Focus Macro
#showtooltip Havoc
/cast [target=focus] Havoc
Soulstone Mouseover Macro
#showtooltip
/use [target=mouseover] Soulstone
Spell Lock Focus Macro
#showtooltip
/cast [target=focus] Spell Lock
Curse of Tongues Mouseover Macro
#showtooltip
/cast [target=mouseover] Curse of Tongues
Curse of Exhaustion Mouseover Macro
#showtooltip
/cast [target=mouseover] Curse of Exhaustion