I'd like to hear your opinions whether or not using buttons that look like links (text links, especially when styled the same as links) and links that look like a buttons is a good practice. I feel that making a link look like a button, and vice versa, is materially dishonest and is deceptive. It tells users that links and buttons are the same but they aren't. For example, users might expect to be able to open the buttons that look like links in a new tab or window but that obviously doesn’t happen. Links should be navigational and buttons actionable but then again we have buttons labeled "next" to go to a next step in wizards etc. Can anyone help to understand the convoluted science behind these components?
By general rule, your buttons should look like buttons and your link should look like links. But reality is so that it is not always possible (or even good for your precise situation).
In my opinion, there is no real harm for links to looks like buttons. It's the other way around that is tricky (for the reasons you mentioned).
If you decide to make a button looks like a link however, you should be very clear in you copy that clicking the button will trigger an action. There should be no doubt that it is in fact not a link. Context is crucial here. If you decide to try this for one of your project, I'll also advice you to test your screen with user just to be sure.
I think it both is okay if the user understands what will happen in the next step. A button is visually easier to scan for the user cause in most cases it has a border, background or something similar and the visible area is larger than the area of a link.
I think there is no perfect rule, should always test it with your target group.