Most of the time they are the same, but there can be a nuance difference. Treat things that start and stop as applicable for both (I've studied/ I've been studying for years). Treat things that were non-stop active actions as sounding better with the progressive (I've been standing here for an hour sounds more natural).
So, for example,
I've played golf for ten years = I've been playing golf for ten years.
I've been playing for two hours is better than I've played golf for two hours.
3, 5, 9, 10, I would favour the progressive.