I think it’s about equivalent in terms of simplicity, but it does look like it’d perform a little better not having to calculate something each frame.
The only real drawback I can see is that if you were playing against an enemy with a lot of health, having a constantly predictable rate of fire might get a little boring once you got used to it - the random amount of time between each shot adds a bit of unpredictability.
(I love unpredictable enemies though; I also put an ‘accuracy’ stat on my enemy shots that does a random.range calculation to pick the x value from a small range)