Given that infant & children's bodies, minds and environments are continually changing, it is no surprise that variable behavior is the rule, not the exception, in development.
There exists both "inter-individual variability" (differences between people) and "intra-individual variability" (differences within a person). For example, the same child in the same day may use different strategies to solve a problem.
As adults we tend not to experience intra-individual differences as much because our own development plateaus until we reach older age. Although these differences decrease over the course of development, they are always present. Ever notice that your self-restraint around chocolate is less after a long day at work? Lose your cool more easily when you're hungry?
Too often we assume that just because an infant or child CAN do something, that they SHOULD. This happens just as much with physical skills as cognitive and social ones.
A baby may suck their thumb one week, and not again for months. This doesn't mean they've lost this skill, but are simply focusing their energy elsewhere. Similarly, a child's great listening skills and patience yesterday but not today doesn't make them naughty or difficult.
Like adults, children's capacity for and expression of skills and behaviour varies from time to time and influenced by outside factors like hunger, tiredness, how others have treated us that day, boredom and so many other things.
Develop is not a linear path and learning a new skill is not an on/off switch. Just because a child CAN do something doesn't mean that they're choosing not to. Like us, what they're capable of changes depending on the circumstances.
What skills has your little one mastered recently?