Kant raises a distinction between what he calls perfect duties and imperfect duties in the Groundwork of the Metaphysics of Morals and again in the Metaphysics of Morals: Doctrine of Virtue. You have the basic definition in hand: a perfect duty is one which one must always do and an imperfect duty is a duty which one must not ignore but admits of multiple means of fulfillment.
Kant specifies two imperfect duties: the duty of self-improvement and the duty to aid others. To understand why Kant thinks of these as imperfect duties, we need to first understand the nature of duty for Kant. The literature on this is vast, so I'm going to skip over some parts of the mechanics and summarize it as follows: a duty is something that we are obligated to by the Categorical Imperative. In other words, it is something that that we can see as a universal rule for all of humanity necessary for a morally just society (mixing together all three major types of formulations of the Categorical Imperative).
It's difficult to come up with completely non-problematic duties due to some issues related to the basis on which we act "maxims" and the means through which we universalize these, but I will skip over this for the purposes of this question (If interested, I suggest reading Allen Wood's Kant's Ethical Thought).
Let's say that I want to lie to someone. If we universalize this, then every rational creature will lie whenever it is convenient. This will turn out to be self-defeating because no one will believe what anyone says. Since we have a constant need of truth in our dealings, this is something we must practice at all times. (i.e., we cannot add an exception "except when telling the truth is inconvenient). This makes this a perfect duty in the Kantian system. Most perfect duties turn out to be negative duties -- i.e. don't do X. On Kant's system, every rational being is obligated by perfect duties.
Imperfect duties reflect the nature of human rational existence. We are born weak and frail, we cannot do everything by ourselves, and we die. These realities create interesting non-rational features of our reality: I needed someone to feed me when I was a baby. I need someone to help me when my car is stuck. I need a surgeon when my liver fails. These needs are not universal either in time or duration nor are they purely rational laws. To make these desires moral, Kant needs us to universalize them. Thus, we transform I need help at times into every [limited] rational creature has a duty to help other rational creatures at times. Thus, I have a requirement to aid others at times reflective of my own need for help at other times. This is one of the two imperfect duties for Kant.
The second imperfect duty is to perfect myself. This duty arises because when I need help, I need experts. Thus, the only way that rational creatures can have their needs met is if rational creatures are developing their talents. So, I too have a need to develop my talents in order to create a universalizable rule that would make it so aid is available when I need it of sufficient ability.
Moved to the level of the particular, imperfect duties are things like: study chemistry, practice the violin, learn Japanese, volunteer at an orphanage. These are duties I don't need constantly and that I somewhat pick from among. Thus, they are imperfect duties since they are not constant obligations, but they remain obligations.
What Kant does not answer is how often. He puts this question somewhat in the Doctrine of Virtue. You can read more about this in Creating a Necessity out of Virtue by Nancy Sherman.
I also gave a more thorough argument for this account in my dissertation.