Honestly, I've seen this play out across both platforms in my B2B campaigns. Instagram's ad delivery is less erratic than X's - the auction logic feels more predictable, especially with retargeting. On X, I've had campaigns where the same audience suddenly stops converting for days, then picks back up without any change on my end. That's not a configuration issue, it's the algorithm treating your bid like a toy.
For Instagram, the bigger headache is creative fatigue, not delivery instability. You can plan around that by rotating formats. With X, you're fighting a platform that changes its signal priority mid-flight. Here's a quick script I use to log performance drops - it's saved me hours of guessing:
import requests, time, json
# pseudo-code for logging CPM spikes
while True:
data = get_ad_performance('X', campaign_id)
if data['cpm'] > baseline * 1.5:
alert('X auction acting up at', time.ctime())
time.sleep(300)
Moral of the story: Instagram is a known quantity if you manage assets well. X is a wildcard that demands constant monitoring. Not just "X being X" - it's a fundamental difference in how they prioritise advertiser versus user experience.