Hi
@Sajid Ali
Well, solidus gem is composed internally by 4 gems (solidus_core, solidus_api, solidus_backend and solidus_frontend). You can use all the gems or just some parts. That's depends on you, and your use case.
About update between versions, I think the project use semver for versioning
https://semver.org/. So you can only expect breaking changes in major versions. Also there is a CHANGELOG, so you can check there what changed between versions.
About your customizations, you will need to double check that are working correctly after an update. If you have a good test coverage for there in your project you shouldn't have too much problems.