Your query can be rewritten like this:
SELECT A.activityCode
,A.ActivityName + ISNULL(A.description, '') AS ActivityName
,A.displayOrder
,A.activityStartDate
FROM Activities AS A
LEFT JOIN Activities AS FA
ON A.fatheractivityIncId = FA.activityIncId
AND A.fatheractivitySqlId = FA.activitySqlId
AND FA.isDeleted = 0
AND A.isDeleted = 0
LEFT JOIN Activities AS GFA
ON FA.fatheractivityIncId = GFA.activityIncId
AND FA.fatheractivitySqlId = GFA.activitySqlId
AND GFA.isDeleted = 0
LEFT JOIN Activities AS GGFA
ON GFA.fatheractivityIncId = GGFA.ActivityIncId
AND GFA.fatheractivitySqlId = GGFA.activitySqlId
AND GGFA.isDeleted = 0
That way of putting ON clauses one after another is a bit confusing indeed. It is used when mixing INNER and OUTER joins, but there are clearer ways of expressing the same query.
-- Gianluca Sartori