If pricing were consistent, I would fully agree with you. However, it is not. People will charge what they think the market can bear. When you're asking for it all up front, you can't charge a huge amount because nobody would pay it. When you mask the request by dividing it up into small chunks, people don't realize how much they are actually paying. In many cases now with automatic billing, people may not even realize they're still paying. The whole subscription thing is an exploitation of human psychology.
If pricing is too expensive the next month, then just cancel. It’s that simple. Monthly subscriptions simply give more freedom both for the user and the builder.