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 recieved two mayor updates (X and 3). If the guys at Touchtype decided that they wanted more money from us they couldn't make use 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.