Hello, talking about the definition.
Assert: If the assert condition is true then the program control will execute the next test step but if the condition is false, the execution will stop and further test step will not be executed.
Verify: There won’t be any halt in the test execution even though the verify condition is true or false.
When an assert statement fails then all the other test case after that won't execute. This is a problem, but again its good practice to use try catch block to avoid this situation.
Verify is used in less critical things. Cases where we can move forward even if the other test cases fails.
Hope this helps.