Today, "NIC" most often stands for network interface controller - many NICs are embedded on the motherboard and not necessarily on an expansion card. The latter is just a carrier for one or more actual interfaces; dual- and quad-port cards are quite common.
Each interface is a) a physical layer component (L1), encoding the data and interfacing the cable, and b) a data link layer component (L2), handling the framing and addressing (where required).
The unique identifier may be its (perhaps MAC) address but sometimes it's just a physical port (e.g. for a serial interface).
When MAC addressing is used, an interface has one default ("hardware") address but it may be configured to use multiple addresses. So, the interface-MAC relation is often 1:1 but may be 1:N.
IP addressing (L3) sits on top of L2 (not part of the NIC but the OS stack). Each IP address is mapped to a MAC address, but potentially multiple IP addresses can map a common MAC address (when they use the same interface). So again, the MAC-IP relation is usually 1:1 but may also be 1:N.
In summary, no two hosts may use the same IP address (within the same subnet) because that would violate the MAC-IP relation or the interface-MAC relation (with a duplicate MAC).
Duplicate IP addressing can be used in a routed network with various workarounds (esp. NAT) but, for obvious reasons, that should be avoided at almost any cost.