Hi @shenxin
Here's a feature comparison between the two
Chat has a 15 inactivity timeout, whereas messenger has no inactivity timeout. Messenger is used with an inbound message flow while Chat can use an inbound chat flow or be associated directly with a queue. Messenger supports file attachments up to 10 mb and predictive routing support while chat does not. Both support predictive engagement. Among others.
I think your decision here either way needs to be going with web messaging. The chat widgets are gradually becoming deprecated and any new development focus is on the messaging sdk.