A course can appear as upcoming if the Start Date has not yet arrived.
The course can also appear as upcoming if a user has not completed a prerequisite for the course. To see whether a course has a prerequisite, simply navigate to the course, then click on the General Settings tab and scroll down to Prerequisites.
If there are any prerequisites, either for courses or credits, that are not completed by a learner, they will be unable to start the course until they have met them.
Lastly, if your course is part of a Learning Path that has Force Order enabled, learners will see all following courses as Upcoming until the current course in the Learning Path has been completed.