One-time payment for web apps doesn't work for 2 reasons (1) web apps have recurring costs (i.e. hosting, but also any updates are released for 'free' since it's really hard to pin a user on the specific version they 'bought'), (2) developers want recurring payments. there's less barrier to entry if you can sell your $1000 software for $50/mo instead.