It all depends on what you want to do. The only models you get with UE4 are things like chairs, tables, and whatever you can find in the free content. You can block levels out with BSP and make a playable game without any custom models, but if you want to make your own characters, assets, and environments, you’ll need a program like Blender or Maya, great for hard-surface and general modeling. If you like making organic things like characters, Z-Brush is another program that models as if you are working with clay, and you can just freely sculpt models to your heart’s content. Using both Maya and Z-brush, you can bake high-polygon detail (more than 1,000,000 polygons) in the normal map of low-polygon models (say, 500) to get similar results.
Simple modeling can be tricky at first but isn’t too hard to wrap your head around. Polycount level modelers, boy. I’m a student of 1, 1/2 years and I’m no where close to their level.