When you download an app (whether free or paid), it is tied to your Google account, so you can get all updates for this app as long as the developer is maintaining it.
Every app has a package name. This can be something like
This is the package name for SwiftKey. If you buy it*, the app is tied to your Google account. You can download it any time on any number of devices that are linked to your Google account, and as I said above, all updates are free. In case of SwiftKey, we already received two major updates (X and 3). If the guys at Touchtype decided that they wanted more money from us, they couldn't make us pay for updates for this app. There are, however, two options that they could take: make new features available as in-app purchases, or release a new app with a different package name.
* You should. It's awesome.