I will attempt to answer your questions:
1. From what I can find, there is no difference between == and =. If you change the formula for Year Over Year, it does not impact the viz.
2. This is a logical formula that filters out the years not selected in the YoY parameter. First, the INDEX() assigns the value of the row in the partition. So if you put the INDEX() on Label, you can see that the INDEX() corresponds with the month number:
Next, the formula determines whether the current INDEX() is equal to the Year selected in the parameter. The MIN(YEAR([Order Date])) grabs the year of the order date and checks whether it matches the YoY Parameter. If It does, it "assigns" the INDEX() value to all months for that year, and for months not in the parameter year, no INDEX() value is assigned.
For example, the YoY parameter is 2015, and the INDEX() of January 2015 is 37, Since the MIN(YEAR([Order Date])) = parameter value (2015), it "assigns" an INDEX of 37 to January 2015. But for a month like December 2014, while the INDEX() is 36, the "assigned" INDEX() is null (since the Order Year does not match the parameter), so a value of FALSE is assigned. So when the Year Over Year field is is added to the filter, it excludes values where the INDEX value is not equal to the "assigned" INDEX().
Hope this helps.
Putting the Index on the Text really explains everything clearly!!!
Thanks a lot Walter!!!