First let's consider just a ordinary brushed DC motor. The hardware mechanically ensures that the windings are switched (commutated) such that the magnetic field is always trying to pull the motor along. The magnetic field strength is directly proportional to current, so the torque is proportional to current. So at a very basic level, the speed is whatever results in enough mechanical resistance to ballance the torque. However, that is not useful in most cases since it's not obvious what the current is.
For a stalled motor, the current is the applied voltage divided by the resistance of whatever windings are switched in. However, as the motor spins it also acts like a generator. The voltage the generator produces is proportional to speed, and apposes the external applied voltage. At some speed this equals the external voltage, in which case the effective voltage driving the motor is zero and the motor current is zero. That also means the torque is zero, so a unloaded motor can't spin that fast since there is always some friction. What happens is that the motor spins at a little lower speed. The amount it spins slower is just enough to leave a little effective voltage on the motor, which is the amount to create just enough current to create the torque to ballance the small friction in the system.
This is why the speed of a unloaded motor doesn't just increase until it flies apart. The unloaded speed is pretty much proportional to the external voltage, and is just below the speed at which the motor internally generates that voltage. This also explains why a fast spinning motor draws less current than a stalled motor at the same external voltage. For the stalled motor, current is applied voltage divided by resistance. For the spinning motor, current is applied voltage minus the generator voltage divided by the resistance.
Now to your question about a brushless DC motor. The only difference is that the windings are not automatically switched in and out according to the rotation angle of the motor. If you switch them optimally as the brush system in a brushed DC motor is intended to do, then you get the same thing. In that case the unloaded current will be even lower since there is no friction from the brushes to overcome. That allows less current to drive the motor at a particular speed, which will be closer to where the generator voltage matches the external applied voltage.
With a brushless motor you have other options. I recently did a project where the customer needed very accurate motor speed. In that case I communtated the windings at precisely the desired speed derived from a crystal oscillator. I used the Hall effect position feedback signals only to clip the applied magnetic field to within ±90° of the position. This works fine as long as the load on the shaft is less than the torque applied when the magnetic field is at 90°.
Usually, however, you commutate a brushless DC motor optimally, just like the mechanical brushes would try to do. This means keeping the magnetic field at 90° from the current position in the direction of desired rotation. The overall applied voltage is then adjusted to modulate speed. This is efficient since only the minimum voltage is used to make the motor spin the desired speed.
Yes, PWM works fine for driving the coils. After a few 100 Hz or so for most motors, the windings only "see" the average applied voltage, not the individual pulses. The mechanical system can't respond anywhere near that fast. However, these windings make magnetic fields which apply force. There is a little bit of force on every turn of wire. While the motor may operate fine at a few 100 Hz PWM, individual turns of the winding can be a little loose and vibrate at that frequency. This is not good for two reasons. First, the mechanical motion of the wires can eventually cause insulation to rub off, although that's rather a long shot. Second, and this is quite real, the small mechanical vibrations become sound that can be rather annoying. Motor windings are therefore commonly driven with PWM just above the audible range, like 25-30 kHz.
From All About Circuits:
Brushless DC motors are similar to AC synchronous motors. The major
difference is that synchronous motors develop a sinusoidal back EMF,
as compared to a rectangular, or trapezoidal, back EMF for brushless
DC motors. Both have stator created rotating magnetic fields producing
torque in a magnetic rotor.
Construction wise, there is essentially* no difference.
The motor in the above diagram could be called an "AC Induction Motor" or a "Brushless DC Motor" and it would be the same motor.
The main difference is in the drive. An AC motor is controlled by a drive consisting of a sinusoidal alternating current waveform. It's speed is synchronous with the frequency of that waveform. And since it is driven by a sine wave, it's Back-EMF is a sine wave. A single phase AC Motor could be driven from the wall socket and it would turn at 3000 RPM or 3600 RPM (depending on your country of origin having 50/60Hz mains).
Notice that I said could there. In order to drive a motor from a DC source, a controller, which is essentially just a DC to AC inverter, is required. You are correct in stating that AC motors can also be driven by controllers. For instance a Variable Frequency Drive (VFD) which are, as you said, DC to AC inverters. Although typically they have an AC to DC rectifier front end.
PWM VFD http://www.inverter-china.com/forum/newfile/img/PWM-VFD-Diagram.gif
VFDs use PWM to approximate a sine wave and can come pretty close by varying the pulse widths continuously as seen below:
While using PWM to approximate a sine wave would produce a nearly sinusoidal Back-EMF wave form ("fuzzy" is the word you used), it's also a bit more complicated to do. A simpler commutation technique is called six-step commutation in which the Back-EMF waveform is more trapezoidal than sinusoidal.
six-step Back-EMF http://www.emeraldinsight.com/content_images/fig/1740300310012.png
And while this "PWM is really poor" as you said, it's also a lot simpler to implement and therefore cheaper.
There are other methods of commutation besides six-step and sinusoidal. The only other one that is really popular (in my opinion) is space vector drive. This has about the same complexity as sinusoidal drive but make better use of the available DC bus voltage. I'm not going to go into detail on space vector as I think it will only muddy the waters of this discussion.
So those are the differences in the drive techniques. The waveform used to drive AC motors is typically sinusoidal and could come directly from an AC source or could be approximated using PWM. The waveform used to drive DC motors is typically trapezoidal and comes from a DC source. There is no reason why the drives couldn't be swapped though there would be a minor hit to efficiency.
*esssentially
Above I said that the construction of the two types of motors is essentially the same. In both cases, AC Induction motor and Brushless DC motor, we are talking about motors that have wound stators instead of permanent magnets. That makes them "Universal motors":
One advantage of having wound stators in a motor is that one can make
a motor that runs on AC or DC, a so called universal motor.
However, there is a slight difference in the winding. Motors designed for use with AC are sinusoidally wound while motors destined to be used with DC are trapazoidally wound. Something that has bugged me for years is that I cannot find a simplified diagram that shows the difference. If I was given the stator of a motor, I would have no idea wether it was wound sinusoidally or trapazoidally. The only way I know of to tell the difference is to back drive the motor by connecting a drill to the shaft and looking at the Back-EMF. You will either see a nice sine wave or more of a trapezoid as shown in the image above. As I said above, using the incorrect type of drive would result in a slight performance hit but it would other wise work.
More often than not, Brushless DC motors are built with permanent magnets on the rotor. While that would be a difference from a squirrel-cage motor, as long as the stator is a wound stator and not a permanent magnet stator (as seen in brushed DC motors), both designs are essentially "universal motors":
The permanent magnet side of the above diagram shows a two pole motor. The number of poles controls the torque ripple. The more poles the smoother the torque curve. But the number of poles makes no difference from an AC versus DC perspective.
The connection of the stator windings, delta versus star, also does not affect the drive method. And in fact, you can switch between the two while it's running:
The difference there is that delta will draw more current and therefore produce more torque. For more information on the relationship or current to torque or voltage to speed, see my answer to this EE.SE question.
Best Answer
The E-bike controller appears to have a PWM AC output for closed-loop control of a brushless permanent magnet motor.
The VESC looks like it may have a similar capability.
Looking at just the online sales information, it is difficult to evaluate what is being offered with either product.
The E-bike controller is the type that is suitable for the linked motors, but you should carefully study the complete documentation for both the selected controllers and motors. If you can not obtain and study the documentation before purchasing, look elsewhere. If you can not verify suitability, look elsewhere.
Coordinating two motors that drive the same vehicle will be challenging.