It's worth reading the battery data sheet, for example Energizer522 9V Alkaline Battery. It's a little bit cryptic, but there is a chart of Miliamp-Hours capacity.
Surprise! The mAh capacity is not really a constant: at higher discharge current, the mAh capacity decreases. So 750mAh is just a heuristic for estimating runtime based on relatively low current, for a generic 9V battery. However it's mostly pretty constant, over a reasonable operating range. (If you draw 1000's of mA, like arc welding with a battery, the mAh rating may not track. I don't recommend this, electrical fires are not fun. Consumer 9V batteries are almost safe but rechargeable batteries can be a lot more hazardous.)
That said, if you draw 50mA you can expect about 10 hours of runtime, and if you draw 100mA you can expect about 5 hours of runtime. So even though batteries are actually a lot more complicated, it's usually reasonable to assume a constant mAh capacity as a useful first-order approximation.
Note that the mAh capacity chart on this particular battery datasheet says "continuous discharge to 4.8 volts at 21 degrees C". They have to specify the end-of-discharge voltage, because the battery won't run down to 0 volts. As the battery discharges, the internal source resistance increases, and less voltage appears across the terminals. At some point there is more source resistance than load resistance, and more of the battery's remaining energy goes toward heating up the battery than actually driving the load. Some loads can ride the battery's discharge curve down lower than others. A flashlight might be able to run on a battery that's too dead to power a motor.
There are runtime graphs that show service hours (runtime) for two different scenarios, a constant resistance load (where load current decreases as the voltage decreases), and a constant current load. If you are using a 3V low-dropout linear regulator, your load current will be approximately constant, so the constant current performance graph is applicable. Again, note that they specify this is at room temperature. One gotcha is that if you are drawing 300mA out of the battery, it's not going to stay at room temperature, it will get warm, maybe even hot.
Another consideration besides total service hours, is how rapidly the battery declines when it reaches end of discharge. This is one of those system characteristics that depends on both the battery and the load. Take a look at the industry standard tests graphs at the end of that data sheet. These are three different typical use cases for the 9V battery, with the radio and the toy being continuous discharge and the smoke detector using a sleep mode to keep its average load current low. If you were designing a consumer electronic product, one of the tasks would be investigating the load characteristics and battery discharge for your particular product. For a hobby or a first prototype the graph in the datasheet is a place to start.
If your device is a handheld remote control, and the battery stops working, it's pretty easy for the user to swap in a fresh battery. But if your device was a quadcopter drone, and its battery suddenly stopped working when the quadcopter was a few hundred feet in the air, that would be bad. You'd want some early warning that the battery was reaching the end of its useful life, to avoid a damaging crash. Similarly if your device was writing data to an SD card or other media, you'd want to try to avoid getting caught in the middle of a commit with a suddenly dead battery. So you'd want to be testing the battery voltage, either measuring with an ADC or using a high-impedance voltage divider and a comparator, to detect when the battery voltage is getting low enough for your device to be concerned. And if using a microcontroller, an undervoltage lockout circuit (often built into the microcontroller) prevents the microcontroller from doing anything if the supply voltage is out of spec.