I don't mean to overdue it but I just put my ten $ worth in above so I will reprint, it a very similar Question
There are a million reasons but broadly, cool air instead of cold can be low refrigerent, an old, bad receiver dryer, a clogged expansion valve in dash, or a dirty condenser in the front (the OTHER radiator up there) or a heater valve which does not close completely,(really your AC is fine but your heater is always on)(feel the heater return hose from the firewall, it should be cold when the engine is hot, and it should get hot when you turn on the heater)
Poor air FLOW is either old tired blower, usually will sound screechee or noisy. Important, poor flow AFTER A WHILE OF RUNNING THE AC, is usaully ice forming on the evaporator in the dash, blocking airflow. If turning compressor off and running heater a while(or waiting a couple hrs) brings airflow back,thats it. Cause is often low refrigerent.
Also low air flow WITH NO CHANGE IN FAN SPEED is resistor as described, its essentially a broken fan speed switch, stuck on lower speed or two.
Oh Yes I meant to say FIRST CHECK YOUR CABIN AIR FILTER !! if low flow is problem. It's a simple fix if you have one!
SECOND I would try heater check(try with hot car turning ac and heater off but blower on, if air gets hot, then your heater is stuck on), THIRD LET PRO CHECK REFRIGERENT.
GOOD LUCK