This is a review question but I can't find anything in my book about it. What I did find online is contradictory and confusing.
No, TCP will time out and request that a packet be re-sent, but there's no guaranteed transit time. TCP (typically) relies on IP, which can dynamically route packets, so there's no way to estimate how long it will/should take.
TCP cannot promise delivery, but it can guarantee that either the packet will be delivered and acknowledged within a timeout (4 minutes IIRC), or you will get an error response. (Which, come to think of it, is what the word "guarantee" usually means: if the promised action does not occur, you will have some remedy available. A guarantee on a hard drive doesn't mean it won't fail; it means that if it fails you can get a replacement or your money back.)
In the sense of "guarantee means unbreakable promise", nothing is ever guaranteed. In the sense of "guarantee = warranty", then yes, TCP guarantees delivery.