I believe Roblox started “taskifying” the default functions just like wait()
(for example, spawn() is also deprecated, and its replacement is task.spawn(), or delay() with task.delay())
I don’t see much difference with either of the functions, but the task functions are the ones that are up to date, while the deprecated functions have a chance of being removed entirely anytime.
wait() automatically waits for the next frame update, while task.wait() uses a timer to wait for a specified amount of time or until a specific task or coroutine has completed its execution.
I use task.wait() for pretty much everything. I have found a few cases I had to use wait() however.