Routers perform forwarding function in the network layer - the actual transfer of packets from a router's incoming links to the appropriate outgoing links.
Each time an end system (internet node) wants to send a packet, it stamps the packet with the address of the destination end system and then pops the packet into the network.
As a packet is transmitted from source to destination, it passes through a series of routers.
Each of these routers uses the packet's destination address to forward the packet. Specifically, each router has a forwarding table that maps (assigns) destination addresses to link interfaces. Forwarding table is set by the routing protocols.
Suppose that all destination addresses are 32 bits (which just happens to be the length of the destination address in an IP datagram). A naive implementation of the forwarding table would have one entry for every possible destination address. Since there are more than 4 billion possible addresses, this option would require a humongous forwarding table. That's why modern routers use longest prefix matching, range matching, or other solutions.
Routers use input and output queues and switching fabric, each with it's throughput. If more packets arrive at queue, than router is able to handle, packet(s) are lost. One of reasons why packets do not arrive to destination in the Internet is loss at a router. They can be retransmitted.
See also: The Network Layer (of the five-layer Internet protocol stack).