I would recommend you to focus purely on Unreal engine 5 (currently in beta, full version early 2022)
Why? Unreal engine is free and you may use created results commercially, they gonna ask you a 5% commission when you exceed a million dollars (getting there is unlikely for most users).
Unreal engine is capable to deliver most photo-real results in “real-time”. As an Unreal user you also get free access to complete Megascans library from Quixel (https://quixel.com/megascans) after installing (https://quixel.com/bridge), also free.
Note however, Unreal engine has an overwhelming set of tools and features but don't let it scare you. Just go with simple beginner tutorials and the basic tools for populating a scene (plenty of them on YouTube) and your up in no time building your own environments. Over time you will naturally puck up more advanced tools and features and gradually become a more advanced user.
Make sure to check the Unreal marketplace (https://unrealengine.com/marketplace/en-US/store), where you can find plenty of pre-made 3D assets, materials and effects like rain, fire, clouds, waterfalls, etc. that import directly to your local Unreal asset library to be used and build your scenes/sets.
There is a very high chance you will always going to find a 3D asset to your like (after visiting the popular online repositories).
Unreal engine has great tools for building up scenes and see final result right there in your viewport “in real-time” (no need for long and complex offline rendering tasks). It has a build in content browser where you put all the assets that you import and then drag and drop in the scene, etc.
Note; Unreal engine is not made to produce 3D assets, its made to use 3D assets.
If you consider making your own custom 3D models/assets then know it will involve some difficult stages you need to master. 3D asset creation is going to involve modeling or sculpting, then applying texture coordinates in order to be used in a 3D texturing painting program to give the model its texture/details, etc. (non of this is done in Unreal engine)
If you want to go this direction then definitely go for Blender, its free (also for commercial use) and works very well together with Unreal engine. Blender offers a good set of modeling tools, it even has some sculpting capabilities and also provide tools to build texture coordinates, etc. For final texturing I would recommend (https://quixel.com/mixer) also free and also works well together with Unreal engine and the Megascans library (https://www.youtube.com/watch?v=v2rVJa3RDAk)
But to begin just stick with Unreal engine and use the stuff that is available (lots of it for free).
Start with simple YouTube tutorials, don't try focusing building own assets jet or learn everything at ones, it will get overwhelming and probably turn you off. Just enjoy using the basic tools of Unreal engine and tings will gradually take of from there at your own pace.