In short, kufr means denial or rejection of something that is known to be true, whereas shirk means to associate something with Allah. There is a lot of overlap since kufr generally involves aspects of shirk and vice-versa, so it's not unusual to see the two terms used interchangeably by mistake.
You mention worship, which is a major aspect of both, but either term would apply to more general beliefs and actions and aren't exclusive to worship.
For example, rejecting that Allah exists or is worthy of worship is clearly kufr, but also if you reject one of the clear laws of Islam (i.e. eating pork), that's still kufr, since you're rejecting the laws of Allah and the Qur'an which clearly says that it is forbidden. It doesn't necessarily need to be an act of worship to be kufr.
Also, in order for it to be kufr, the truth needs to be known in order to be rejected. If someone considers eating of pork acceptable because they haven't been taught the laws of Allah, that is not kufr, that is simply ignorance.
Shirk would be anything that associates with Allah something that is unique to Allah. Again, worship is a major aspect of this since only Allah is worthy of worship, but again it could also apply in non-worship beliefs. For example, claiming that a doctor has the ability to give life is still shirk since only Allah is the bringer of life. Claiming that any worldly leader can make haram anything that Allah has permitted or to permit what Allah has forbidden would be shirk since only Allah has that authority.
For further reading, I leave the following links: