Use UCase (or LCase) on both the value you want to check and the value you want to check against.
Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo Handler
    
    If Target.CountLarge > 1 Then Exit Sub
    
    If Target.Column = 3 And UCase(Target.Value) = UCase("ARRIVED") Then
        Application.EnableEvents = False
        Target.Offset(0, 1) = Format(Now(), "hh:mm")
        Target.Offset(0, 13) = Format(Now(), "mm-dd-yyyy hh:mm")
        Application.EnableEvents = True
    End If

    If Target.Column = 3 And UCase(Target.Value) = UCase("(Absent)") Then
        Application.EnableEvents = False
        Target.Offset(0, 2) = "(Absent)"
        Target.Offset(0, 13) = "(Absent)"
        Application.EnableEvents = True
    End If

    If Target.Column = 5 And UCase(Target.Value) = UCase("DEPARTED") Then
        Application.EnableEvents = False
        Target.Offset(0, 1) = Format(Now(), "hh:mm")
        Target.Offset(0, 12) = Format(Now(), "mm-dd-yyyy hh:mm")
        Application.EnableEvents = True
    End If

Handler:
    Application.EnableEvents = True

End Sub