It means that you taught up to a specific point in time in the past. "I have been teaching" implies that you still are teaching.
Is has been teaching correct?
The continuous tense "has been teaching" is better here in my opinion because it carries more of a sense of a continuous 15-year period, whereas "has taught" could indicate a possibility that there might have been a gap at some point. But in those sentences as they stand, either version is fine.
Has teaching or taught?
simple past tense and past participle of teach.