You're moving it too much as it cooks
Once you place your steak on the grill, let it be! Only move it once on the first side if you’re looking to get grill marks, or as the French say, “quadrillage.” Then flip it and let it be once more. Moving it too much prevents your meat from getting a good sear which is crucial to forming that illustrious crust and caramel color.
You're only cooking it at one heat
If you are grilling a thick steak, be sure to set aside an area on the grill heated to a lower temperature. This is where you will finish off the steak after you get your nice sear, ensuring an even, delicate finish to your meat. If you are cooking in a pan then be sure to preheat your oven to 350 F. Get that sear on the stove and then finish cooking it in the oven.
You're not using a meat thermometer
Get a meat thermometer. Unless by chance you know when a steak is done just by touching it, as some chefs or grill masters do, don't guess, and instead aim for exact internal temps.
You're not accounting for carryover heat
With all foods, especially meat, there is carryover cooking. This means that even after you pull your steak from the grill or oven, it will continue to cook. To achieve the perfect desired temperature, pull off your steak a solid five degrees earlier and it will rest to perfection by the time you cut it. For rare, remove it at 120 degrees, medium rare at 125, medium at 130-135. “If you want it well done,” George Faison says, “just make stew instead.”