Difference between 'dependsOn' VS 'TaskInputs' applied to a 'Buildable'?

Would these two types of dependencies yield the same task execution/dependency behavior, or are there more subtle differences ?

myTask.dependsOn(myBuildable)

versus

myTask.inputs.file(myBuildable)

Where ‘myBuildable’ implements ‘Buildable’

Thank you