For freelance and small contracting work, and then lately for my own side projects and such, I've been running a self hosted instance of OpenProject. It has 2 features that I find are extremely valuable: 1. resource and materials costs 2. Gantt charts
Having costing available is extremely useful for paid gigs: not only for budgeting purposes, but also indirectly in keeping scope creep to a minimum (or alternatively, being able to indicate how much the additional effort is actually going to cost based on task estimates, and having informed conversations with the client if needed).
And gantt charts seem to not be used as much these days, but its really helpful in getting a quick overview of how changes to a projects tasks (new tasks added, delays, resource planning constraints, etc) affect the project timeline.
For the most part, I tend to find that increasingly, "project management" tools are more actually "task management" tools. Which have their uses. But for project management, there's more to a project than just its tasks.