Greyhound buses run more-or-less on time. The routes are direct, they're predictable, and they will take you where you want to go. They also don't have a dining car, spacious bathrooms, room to walk around and stretch your legs, etc. If somebody has diarrhea, everybody on that bus is going to know it and smell it.
Amtrak is more comfortable in every way. It's also usually late, and subject to delays because of low rail priority. You can't really count on it for anything other than "it'll leave eventually" and "it'll get there eventually". While on the train, it's really quite pleasant - as long as you don't care about arriving when the schedule said you would.