Is it difficult to upgrade an existing silverstripe project to the latest stable version?
Well, "difficult" is hard to define. It depends on where you're starting from, and what else is in the project (modules, custom code, etc.)
An older SS4 to the latest SS4 is generally fairly straightforward
More recent SS3 to SS4 is OK, but some of the modules can be problematic sometimes
The upgrading notes here cover SS3 - SS4: https://docs.silverstripe.org/en/4/upgrading/upgrading_project/
Essentially, the older the starting point, and the more complex the site... the more work will be involved