I'd like to know why i should use one or the other and which one is best practice.
I know their use is different but in my experience i have not found any advantage in using one instead of the other.
Are there any reason to avoid using an implementation (other than code readability)?