free luggage, free meals (on shorter flights), legroom, time on the ground and flight cancelation headaches (far less of a problem if you don't offer connecting flights like Ryanair).
If you get all of these right, price decreases, demand increases, average seat occupancy goes way up, and that causes the per-seat price to drop even more, in a feedback loop. If your costs are low enough, you can go for a direct model instead of a hub-and-spoke model, catering more towards casual travelers who just want to go somewhere instead of the business types which need to go from X to Y at time Z, no matter the cost. THe direct model drives the cost down even more, as you only need one flight instead of two, and don't have to worry about the insane costs of passengers stranded at your hub when something goes wrong.