Relationships and constraints are clearly differentiated in the software. Academic articles may have added to Santosh’s confusion by including both of them as “constraints,” where some are logical (i.e. sequential constraints, relationships) and some are externally imposed (i.e. early, late, and mandatory date constraints.)
Rules (for forward scheduling only): Use activities and relationships for everything. Early constraints (i.e. SNET, FNET) typically represent missing activities and logic. They should only be used to represent events that are truly external to the scope of the project, e.g. Contract Notice to Proceed or delivery of Owner-furnished equipment. Late constraints (i.e. SNLT, FNLT) are used to represent schedule obligations/commitments, where failure has negative consequences. Use them (I prefer Deadlines) only in these cases. Mandatory constraints (MSO, MFO) represent events that are fixed in time and will never change regardless of how the project progresses. There are virtually no uses for these in logic-driven project schedules.
The critical path and other logic paths in the schedule are easily affected/corrupted by constraints, especially in MS Project.