They both do the same thing: embed (or "link" as we say in Contentful jargon) an entry within your flow of text so that this gets rendered in your application as a widget. The difference between them is in the possible widget that will show up:
For inline entries you might get things like word annotations, or dynamic microcopy
For block entries you might get widgets like image carousels, embedded social media posts, sign up forms, related products and more.
Rich Text Commands is an add-on feature aimed at enhancing the efficiency of editors working with structured content in the Rich Text editor. This feature enables the user to quickly embed entries and assets using a command panel without leaving the editor context or keyboard. The command panel opens as soon as the user types '/' (slash on the keyboard), providing a palette of commands as the user continues typing.
Even though in the API response both of these features seem similar, the difference lies in the intended usage.
A hyperlink to an entry is still a hyperlink which is wrapped around a string and will take you to another page if you click on it.
An embedded inline entry is not wrapped around a string and you (or your developer) can choose what and if you want to render something there.
Here are some use cases of an inline entry that might help differentiate it with a hyperlink to an entry:
A reusable term, like brand name, across many pages.
An annotation modal over a term.
A user mention.