The polycount wiki for foliage has some good starter tutorials which explains a lot of different techniques. As with all 3D, you get back what you put in, there aren’t many shortcuts with foliage.
Depending on your art style, go take some photos of leaves/flowers on blank backgrounds, or paint them yourself - and import them into your 3D software. Cut the leaves out, I use the multi-cut tool in Maya, aim to keep a good balance between polygons, and as least alpha showing as possible (the part of the geometry that’s rendered see-through).
Triangulate the geometry you’ve created, adding edges down parts of the leaves you’ll want to manipulate the shape of, like the veins, then pull some verts to create shape, use reference for the foliage you’re creating.
Then just move/rotate/scale all the different parts you’ve created and you should have something - really study what you’re making and mentally break down all the parts it’s made of and how they’re arranged, then you just need to create alpha/normal/roughness maps e.t.c. There’s a lot of different methods, but that’s a basic low-down to get you started. The Fern images I used here were free “Megascans” assets, but I could have just gone and chopped a plant up myself and taken the photos if I had more time. There’s plenty of free stuff around so have a look, the best paid resource for UE4 imo is Speedtree though.
Tree’s are a lot more complex than small plants so tackle them after you’ve practiced with smaller assets, there’s a lot of free tree’s around you can use, I think speedtree even has some free samples on their store - also 1 months subscription is $19 and you can download even more free content specially for subscribers. You could then just cancel your sub after you’ve played with it for a month if money is tight.
Good luck!