The clock-enable is actually really common for flops in an integrated circuit; it might have been unusual in the days of discrete TTL, but as the article concedes, practically every cell library or FPGA fabric you can find will have it.
Not only is it commonly present, but the CE is used all the time by the synthesis/technology-mapping process, indeed any time you write an `if` without an `else` within a clock-edge sensitive process, the tool is probably going to use a CE.
On an FPGA, the only other option is a LUT-based feedback mux which can be undesirable for various reasons, including the use of additional routing resources if the fabric has no dedicated route in each CLB from the output flop to the input LUT, and the increased fanout on the flop.