Q:

What is the story on $variable->something in PHP?

I've seen this used a lot, especially with SimpleXML. 
Is this:
$row->unixtime

simply the same as doing this???
$row[unixtime]

What is this called, why/how should it be used?

A:

Object Oriented Programming with PHP
$row->unixtime

$row is an object. unixtime is a property of that object.
$row[unixtime] // I hope you meant $row['unixtime'];

$row is an (associate) array. unixtime is a key in that array.
Asking 'What Objects are' is a bit vague.

Object Oriented Programming (Wikipedia)
How can I practice better object-oriented programming?
Pitfalls of Object oriented programming
When is Object Oriented not the correct solution?
Learning object oriented thinking

Getting started with OOP is not a trivial task. It takes a good while to learn the syntax and nuances, some more time to understand the advantages, and years(arguably) to actually use it effectively.  

A:

It's totally different.
The first one, $row->unixtime means that you are accessing the public variable $unixtime of the object/instance of class $row. This is Object Oriented Programming.
Example:
class example{
  public $unixtime = 1234567890;
}

$row = new example();
echo $row->unixtime; // echos 1234567890

The second one, is to get the key 'unixtime' of the array $row. This is called Associative Array. Example:
$row = array(
          'unixtime' => 1234567890
       );
echo $row['unixtime']; // echos 1234567890

You can easily convert between objects and arrays by using the (array) and (object) casts. Example:
$row = array(
          'unixtime' => 1234567890
       );
$row = (object)$row;
echo $row->unixtime; // echos 1234567890

Off-topic: I actually missed out the unix epoch time 1234567890 in February.

A:

No, they're not the same. It's about object oriented programming.
-> indicates accessing an object member. For example:
class Test {
  public $foo;
  public $blah;
}

$test = new Test;
$test->foo = 'testing';

[] is an array access operator, used by true arrays. Objects can also use it if they implement the ArrayAccess interface:
class Test2 implements ArrayAccess {
  private $foo = array();

  public function offsetGet($index) { return $this->foo[$index]; }
  // rest of interface
}

$test2 = new Test2
$test2['foo'] = 'bar';

