Since 'have' is essentially a state verb and 'get' is a process verb, there is a fundamental difference in meaning, where 'have' focuses on the end result whereas 'get' focuses on the process of change:
Dude, seriously—you need to get your hair cut!
'Get' is preferred when the focus is on changing from one state to another, so it works more naturally in this example.
Another crucial point is that with neither verb is it an essential part of the meaning that a second party is involved. I think that with 'get', it's less likely that another person is involved.
Darling, I have to pop out for a bit. Can you get the baby's nappy changed, please?
I'm not asking you to ask someone else to change the baby's nappy, I'm asking you to do it.
I need to get this report finished by this evening or my boss will kill me.
I'm not suggesting that I pay someone to finish my report for me.
Correspondingly, with 'have', a second-party interpretation is a bit more likely:
a) I'm going to have the car washed this weekend.
b) I'm going to get the car washed this weekend.
With a), the interpretation that I plan to pay someone to wash my car is more likely than with b).