By default BGP will indeed only advertise the best route. Unlike BGP, IGP protocols such as EIGRP and OSPF function differently.
OSPF routers within a single area obtain a complete map of the whole network. This means that all alternative paths are advertised, so the LSDB will contain all of the possible routes to a particular destination within an OSPF area. Of these, only the route with the best metric will be put in the routing table. If there are two equal cost routes, then equal cost load balancing will be performed for up to four paths (by default, but this can be increased to up to 32). You can find out more about that at this lesson.
EIGRP on the other hand, do not advertise all possible routes to each other, and thus, unlike OSPF, each EIGRP router does not have a full picture of the network topology. There are rules that dictate which routes will be shared, and which will not. These have to do with the successor, feasible successor, and other paths that do not fulfil the feasibility condition. The routes that are advertised, are placed in the topology table, but only the best route is placed in the routing table.
More about these mechanisms can be found at this lesson. If more than one route to a destination has the same cost, all routes will be placed in the routing table, and EIGRP will perform equal cost load balancing. It can also be configured to perform unequal cost load balancing. More about these features at this lesson.
If you want to perform ECMP, you can do so using the multipath load sharing feature of BGP. You can find out more about this at the following lesson:
I hope this has been helpful!