In addition to what's already been said, remember that a LED draws much more current at a given voltage when the LED gets warm (the opposite of most resistors). As it draws more current, it heats up more, thus drawing still more current. This can lead to positive feedback thermal runaway if you're not careful. What worked in your air conditioned lab may not work in the field during summer, or when the device is in a rack above a heat-producing power amplifier, or...
If you were to measure the average current, and adjust your PWM based on the measurement, so that you're delivering a controlled average current to the LED, then you can probably make that work reliably. But it won't be cheaper or lower parts count than including a current limiting resistor.