Does FEC correspond to a Next-hop ipaddress or Destination Ipaddress or a combination of Next-hop/Destination Ipaddress and QOS values ?
FEC or 'Forwarding equivalence class' identifies identity for packet which will determine path it will take in the network.
For pure IPv4 forwarding, with routing-table 10.0.0.0/24 -> 192.0.2.1 you can think that addresses 10.0.0.0 - 10.0.0.255 share that FEC, as they are treated same way, each of them are going to go to 192.0.2.1.
In MPLS typically FEC is the same, some prefix gets specific label, and these are all sharing FEC. However it's completely valid to add more differentiation there, QoS (dscp, cos) could be another differentiator. So 10.0.0.0/24, CoS 1, could get label 42 and 10.0.0.0/24, CoS 0 could get label 100.
In IPv4 FEC is determined hop-by-hop, first hop could have 10.0.0.0/24 next-hop could have 10.0.0.0/25 and 10.0.0.128/25, causing traffic that used be in one FEC, to diverge into two FECs.
In MPLS FEC is only determined by ingress PE, the traffic will then share same FEC all the way to egress PE.
So FEC is way to describe shared path in network for some group of packets, it does not strictly define how that group is defined.