A very quick comparison of the two technologies:
SharePoint forms are native to SharePoint, they are very lightweight, they feel very “native”. Saving is fast, editing is extremely intuitive and you don’t need any special license to use them.
Unfortunately, they offer very little “no-code” customisation options, though. You can show or hide any field and add calculated fields, but that’s about it. Editing the form’s title and the layout (apart from basic repositioning) already requires JSON schema and testing.
Showing a field conditionally is not easy. If you know JavaScript and the SPFX framework, you can do it and a lot more, but it’s very inconvenient. It is just not a viable option for any typical use case.
Canvas PowerApps, on the other hand, are very customisable. PowerFX is, indeed, very powerful and the connectors are incredibly useful. It may not be the easiest to learn, but once you understand the basics, you can do a lot with it – enough for must business use cases. And you can implement customisations fast, without code and different versions you create are automatically stored on the cloud for you.
However, PowerApps are not native to SharePoint. While they are still a web platform, they run in iFrames. The buttons you add are still soo wonky after so many years of development – there’s an annoying delay between user’s click and the action triggering, which kills any satisfaction using them. I don’t like using Canvas Apps, but they get the job done. If you use anything apart from basic SharePoint integration connectors, you need a special license for it.
Let me know what you think.