Both the form and portal can perform similar functions. They both allow users to log in and see/update their data. The main difference is how the data is displayed on the screen.
There is a lot of overlap in the features available in both extensions. You can use either one in most use cases. But here are the main differences:
Login page option
*Important to note that almost the entire form extension is built within the portal.
In the portal, you can display the data as a list of records (or grid/gallery). It makes more sense to use the Client Portal extension if your average user is going to edit/create records across multiple tables.
In the form, the data is displayed on a long vertical card. Because you can add a login page to the form, the user can look up a record (themself). You can also allow users to see records from multiple tables by including in your form linked records fields (displayed as a list). This allows users to add/edit multiple records (that are linked to them).