A software roadmap shows the high level overview and the main steps in the process of developing software. It's often used by product teams or engineering departments and helps them visualize the high level planning including design and development. It's shared with other functional teams within an organization like marketing and sales and represents the long term product strategy (~ 2 years).
It visualizes how the resources of specific employees or departments are allocated over time. Economic impact and customer value is considered for prioritizing what project and features make it into the roadmap. Development costs are the main criteria on the cost side.