After having spent several years dealing with stepper motors, I have decided that they are the Pandora's box of motors. If you want a simple, low-power motor for position control, a stepper motor is easily the best choice.
However, the second you dive into the details on how a stepper motor functions physically, and attempt to deal with conceptually simple topics like stall detection, you open a can of worms. A brushed-DC or brushless-DC motor has a stall current, a stepper motor does not.
Whenever I describe the different motor types, I always seem to say (after describing brushed and brushless) "and this is a stepper motor, which is just weird..."
Another form of "sensorless", brushless motor is the Stepper Motor. These are extremely useful for certain specific applications that don't require high speed. Typically a stepper motor is used in situations where the motor is required to rotate for a specific angle and then stop, and where they can be called upon to run in either direction. They are used, for example, in desktop 3D printers, where the precise location of the actuators is controlled "open loop" by keeping track of the steps that have been issued to the motors. This presumes, of course, that the mechanical load on the motor never exceeds the driving force that the motor can create.
The PLL architecture is an effective approach to creating very linear ramping waveforms that are useful for radar applications. That being said, one consideration is how fast the ramp can change and still have the PLL track it. The loop filter needs to be able to allow the frequency to slew fast enough, and you need to take measures to avoid cycle slipping