What makes Eminem such a good rapper is that he can rhyme words that aren't supposed to rhyme! You see, unlike every other rapper and song writer in the world, Eminem doesn't use real rhymes all the time.
Eminem doesn't have that ability to come up with real rhymes and he recognizes this limitation and overcomes it by using asssssonance.
For example, in Mockingbird:
I don't see us bein together ever again/But everything always happens for a reason
See how "don't" rhymes with "ever," and "always" rhymes with "for a?" Genius! Eminem may not be very smart. He may not know proper English and it gives me a headache and makes me wish juelz would write his lyrics for him because Eminem clearly flunked 9th grade because he couldn't pass English, and he may not be very deep or very intelligent or know much about the world or any subjects, like science or math or history like Canibus (who is a genius, so that's not really fair), but Eminem is still a great rapper because he rhymes words that don't really rhyme, but makes them SOUND like they rhyme.
For example, he pronounces "don't" as "dunnnn---evvvertttt" to make it sound like "ever," and he pronounces "always" as "Or-wuz" to make it sound like "for a." I mean, WHO THINKS OF THAT? Certainly not the average rapper, but then Eminem isn't the average rapper!
So while other rappers are using REAL rhymes every single bar and using their intelligence and deep concepts, Eminem still shows why he's great by rhyming words that shouldn't rhyme. You've gotta give him props for that, if nothing else!